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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetNewArticles(BaseModel):
    get_new_articles: Optional[List[Optional["GetNewArticlesGetNewArticles"]]] = Field(
        alias="getNewArticles"
    )


class GetNewArticlesGetNewArticles(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["GetNewArticlesGetNewArticlesRelatedMedia"]]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional["GetNewArticlesGetNewArticlesEvent"]
    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["GetNewArticlesGetNewArticlesRelatedCompetitors"]]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedDiscipline"]]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetNewArticlesGetNewArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedCompetitions"]]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedEvents"]]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedArticles"]]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedMinisitePages"]]
    ] = 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["GetNewArticlesGetNewArticlesRelatedLinks"]]
    ] = 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["GetNewArticlesGetNewArticlesContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedMedia(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 GetNewArticlesGetNewArticlesEvent(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["GetNewArticlesGetNewArticlesEventCircuits"]]]
    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["GetNewArticlesGetNewArticlesEventPage"]
    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 GetNewArticlesGetNewArticlesEventCircuits(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 GetNewArticlesGetNewArticlesEventPage(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["GetNewArticlesGetNewArticlesEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesEventPageMinisite"]
    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["GetNewArticlesGetNewArticlesEventPageContentModules"]]
    ] = 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["GetNewArticlesGetNewArticlesEventPageCampaign"]


class GetNewArticlesGetNewArticlesEventPageEvent(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["GetNewArticlesGetNewArticlesEventPageEventCircuits"]]
    ]
    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["GetNewArticlesGetNewArticlesEventPageEventPage"]
    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 GetNewArticlesGetNewArticlesEventPageEventCircuits(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 GetNewArticlesGetNewArticlesEventPageEventPage(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["GetNewArticlesGetNewArticlesEventPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesEventPageEventPageMinisite"]
    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["GetNewArticlesGetNewArticlesEventPageEventPageContentModules"]]
    ] = 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["GetNewArticlesGetNewArticlesEventPageEventPageCampaign"]


class GetNewArticlesGetNewArticlesEventPageEventPageEvent(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 GetNewArticlesGetNewArticlesEventPageEventPageMinisite(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 GetNewArticlesGetNewArticlesEventPageEventPageContentModules(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 GetNewArticlesGetNewArticlesEventPageEventPageCampaign(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 GetNewArticlesGetNewArticlesEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesEventPageMinisiteFeatureImage"
    ] = 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["GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsors"]]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageMinisiteSponsors"]]
    ]
    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 GetNewArticlesGetNewArticlesEventPageMinisiteLogo(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 GetNewArticlesGetNewArticlesEventPageMinisiteFeatureImage(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 GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsors(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[
        "GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsorsDarkBgLogo(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 GetNewArticlesGetNewArticlesEventPageMinisiteSponsors(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[
        "GetNewArticlesGetNewArticlesEventPageMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesEventPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesEventPageMinisiteSponsorsLightBgLogo(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 GetNewArticlesGetNewArticlesEventPageMinisiteSponsorsDarkBgLogo(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 GetNewArticlesGetNewArticlesEventPageContentModules(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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEvents"]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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["GetNewArticlesGetNewArticlesEventPageContentModulesRelatedMedia"]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesEventPageContentModulesFeatureLinks"]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional["GetNewArticlesGetNewArticlesEventPageContentModulesMinisite"]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageContentModulesLocations"]]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageContentModulesVideos"]]
    ]
    banners: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageContentModulesBanners"]]
    ]
    slides: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageContentModulesSlides"]]
    ]
    sections: Optional[
        List[Optional["GetNewArticlesGetNewArticlesEventPageContentModulesSections"]]
    ]
    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["GetNewArticlesGetNewArticlesEventPageContentModulesRelatedVideos"]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticles(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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEvents(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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEventsPage(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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedCompetitors(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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedDiscipline(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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedMedia(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 GetNewArticlesGetNewArticlesEventPageContentModulesLifestyleLinks(BaseModel):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePage(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[
        "GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageCampaign"
    ]


class GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageEvent(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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageMinisite(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageContentModules(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePageCampaign(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteLogo(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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesMinisiteSponsors(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 GetNewArticlesGetNewArticlesEventPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetNewArticlesGetNewArticlesEventPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


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


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


class GetNewArticlesGetNewArticlesEventPageContentModulesVideosThumbnailImage(
    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 GetNewArticlesGetNewArticlesEventPageContentModulesBanners(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["GetNewArticlesGetNewArticlesEventPageContentModulesBannersPage"]


class GetNewArticlesGetNewArticlesEventPageContentModulesBannersPage(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 GetNewArticlesGetNewArticlesEventPageContentModulesSlides(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 GetNewArticlesGetNewArticlesEventPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesEventPageContentModulesSectionsLinks"]
        ]
    ]


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


class GetNewArticlesGetNewArticlesEventPageContentModulesRelatedVideos(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 GetNewArticlesGetNewArticlesEventPageContentModulesRelatedVideo(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 GetNewArticlesGetNewArticlesEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedCompetitors(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["GetNewArticlesGetNewArticlesRelatedCompetitorsPrimaryMedia"]]
    ] = 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 GetNewArticlesGetNewArticlesRelatedCompetitorsPrimaryMedia(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 GetNewArticlesGetNewArticlesRelatedDiscipline(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 GetNewArticlesGetNewArticlesRelatedDisciplineStats(BaseModel):
    discipline: Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsDiscipline"]
    season_best: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsSeasonBest"]]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsRecords"]]
    ]
    timetable: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsTimetable"]]
    ]
    results: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsResults"]]
    ]


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsDiscipline(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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsSeasonBest(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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsPreviousMedalists(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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsRecords(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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsTimetable(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")
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedDisciplineStatsTimetableDiscipline"
    ]
    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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsTimetableDiscipline(BaseModel):
    updated_on: Optional[Any] = Field(alias="updatedOn")
    hash: Optional[str]
    id: Optional[str] = Field(alias="_id")
    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 GetNewArticlesGetNewArticlesRelatedDisciplineStatsResults(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]
    results: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResults"]
        ]
    ]
    start_list: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsStartList"
            ]
        ]
    ] = Field(alias="startList")


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResults(BaseModel):
    id: Optional[str]
    competitor: Optional[
        "GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsCompetitor"
    ]
    mark: Optional[str]
    nationality: Optional[str]
    place: Optional[str]
    points: Optional[int]
    qualified: Optional[bool]
    records: Optional[str]
    wind: Optional[str]
    remark: Optional[str]
    details: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsDetails"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsCompetitor(
    BaseModel
):
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    id: Optional[str]
    iaaf_id: Optional[int] = Field(alias="iaafId")
    birth_date: Optional[str] = Field(alias="birthDate")
    has_profile: Optional[bool] = Field(alias="hasProfile")
    team_members: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsCompetitorTeamMembers"
            ]
        ]
    ] = Field(alias="teamMembers")


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsCompetitorTeamMembers(
    BaseModel
):
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    id: Optional[int]
    iaaf_id: Optional[int] = Field(alias="iaafId")


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsDetails(
    BaseModel
):
    event: Optional[str]
    event_id: Optional[int] = Field(alias="eventId")
    race_number: Optional[int] = Field(alias="raceNumber")
    mark: Optional[str]
    wind: Optional[str]
    place_in_round: Optional[int] = Field(alias="placeInRound")
    place_in_race: Optional[int] = Field(alias="placeInRace")
    points: Optional[int]
    overall_points: Optional[int] = Field(alias="overallPoints")
    place_in_round_by_points: Optional[int] = Field(alias="placeInRoundByPoints")
    overall_place_by_points: Optional[int] = Field(alias="overallPlaceByPoints")


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsStartList(BaseModel):
    competitor: Optional[
        "GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsStartListCompetitor"
    ]
    order: Optional[str]
    pb: Optional[str]
    sb: Optional[str]
    bib: Optional[str]


class GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsStartListCompetitor(
    BaseModel
):
    birth_date: Optional[str] = Field(alias="birthDate")
    country: Optional[str]
    id: Optional[str]
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")


class GetNewArticlesGetNewArticlesRelatedCompetitions(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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional["GetNewArticlesGetNewArticlesRelatedCompetitionsPage"]


class GetNewArticlesGetNewArticlesRelatedCompetitionsNextEvent(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["GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventCircuits"]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventCircuits(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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPage(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["GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEvent(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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEventPage(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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEvent(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["GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventCircuits"]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventCircuits(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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPage(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["GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEvent(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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEventPage(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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPage(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["GetNewArticlesGetNewArticlesRelatedCompetitionsPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisite"]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModules"
            ]
        ]
    ] = 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["GetNewArticlesGetNewArticlesRelatedCompetitionsPageCampaign"]


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageEvent(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["GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventCircuits"]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventCircuits(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPage(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["GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageEvent(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageMinisite(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteLogo(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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsors(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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModules(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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEventsPage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePage(
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageEvent(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLocations(
    BaseModel
):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


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


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


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesVideosThumbnailImage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesBanners(
    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[
        "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesBannersPage"
    ]


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesBannersPage(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSectionsLinks"
            ]
        ]
    ]


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


class GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedCompetitionsPageCampaign(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 GetNewArticlesGetNewArticlesRelatedEvents(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["GetNewArticlesGetNewArticlesRelatedEventsCircuits"]]
    ]
    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["GetNewArticlesGetNewArticlesRelatedEventsPage"]
    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 GetNewArticlesGetNewArticlesRelatedEventsCircuits(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 GetNewArticlesGetNewArticlesRelatedEventsPage(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["GetNewArticlesGetNewArticlesRelatedEventsPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesRelatedEventsPageMinisite"]
    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["GetNewArticlesGetNewArticlesRelatedEventsPageContentModules"]]
    ] = 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["GetNewArticlesGetNewArticlesRelatedEventsPageCampaign"]


class GetNewArticlesGetNewArticlesRelatedEventsPageEvent(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["GetNewArticlesGetNewArticlesRelatedEventsPageEventCircuits"]]
    ]
    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["GetNewArticlesGetNewArticlesRelatedEventsPageEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedEventsPageEventCircuits(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 GetNewArticlesGetNewArticlesRelatedEventsPageEventPage(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["GetNewArticlesGetNewArticlesRelatedEventsPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesRelatedEventsPageEventPageMinisite"]
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageEventPageContentModules"
            ]
        ]
    ] = 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["GetNewArticlesGetNewArticlesRelatedEventsPageEventPageCampaign"]


class GetNewArticlesGetNewArticlesRelatedEventsPageEventPageEvent(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 GetNewArticlesGetNewArticlesRelatedEventsPageEventPageMinisite(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 GetNewArticlesGetNewArticlesRelatedEventsPageEventPageContentModules(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 GetNewArticlesGetNewArticlesRelatedEventsPageEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsors"]]
    ]
    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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteLogo(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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteFeatureImage(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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsors(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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsors(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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModules(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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEventsPage(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePage(
    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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageEvent(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


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


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


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesVideosThumbnailImage(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesBanners(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[
        "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesBannersPage"
    ]


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesBannersPage(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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSlides(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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSectionsLinks"
            ]
        ]
    ]


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


class GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedEventsPageCampaign(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 GetNewArticlesGetNewArticlesRelatedArticles(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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedMedia"]]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional["GetNewArticlesGetNewArticlesRelatedArticlesEvent"]
    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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitors"]]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedDiscipline"]]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitions"]]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedEvents"]]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticles"]]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePages"]
        ]
    ] = 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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedLinks"]]
    ] = 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["GetNewArticlesGetNewArticlesRelatedArticlesContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMedia(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 GetNewArticlesGetNewArticlesRelatedArticlesEvent(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["GetNewArticlesGetNewArticlesRelatedArticlesEventCircuits"]]
    ]
    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["GetNewArticlesGetNewArticlesRelatedArticlesEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventCircuits(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 GetNewArticlesGetNewArticlesRelatedArticlesEventPage(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["GetNewArticlesGetNewArticlesRelatedArticlesEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisite"]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModules"
            ]
        ]
    ] = 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["GetNewArticlesGetNewArticlesRelatedArticlesEventPageCampaign"]


class GetNewArticlesGetNewArticlesRelatedArticlesEventPageEvent(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageEventCircuits"
            ]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedArticlesEventPageEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageEventCircuits(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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageEventPage(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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteLogo(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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisiteSponsors(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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModules(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitors(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDiscipline(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStats(BaseModel):
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsDiscipline"
    ]
    season_best: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest"
            ]
        ]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsRecords"
            ]
        ]
    ]
    timetable: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsTimetable"
            ]
        ]
    ]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResults"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsRecords(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsTimetable(
    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")
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsTimetableDiscipline"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsTimetableDiscipline(
    BaseModel
):
    updated_on: Optional[Any] = Field(alias="updatedOn")
    hash: Optional[str]
    id: Optional[str] = Field(alias="_id")
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResults(
    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]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResults"
            ]
        ]
    ]
    start_list: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsStartList"
            ]
        ]
    ] = Field(alias="startList")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResults(
    BaseModel
):
    id: Optional[str]
    competitor: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResultsCompetitor"
    ]
    mark: Optional[str]
    nationality: Optional[str]
    place: Optional[str]
    points: Optional[int]
    qualified: Optional[bool]
    records: Optional[str]
    wind: Optional[str]
    remark: Optional[str]
    details: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResultsDetails"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResultsCompetitor(
    BaseModel
):
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    id: Optional[str]
    iaaf_id: Optional[int] = Field(alias="iaafId")
    birth_date: Optional[str] = Field(alias="birthDate")
    has_profile: Optional[bool] = Field(alias="hasProfile")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResultsDetails(
    BaseModel
):
    event: Optional[str]
    event_id: Optional[int] = Field(alias="eventId")
    race_number: Optional[int] = Field(alias="raceNumber")
    mark: Optional[str]
    wind: Optional[str]
    place_in_round: Optional[int] = Field(alias="placeInRound")
    place_in_race: Optional[int] = Field(alias="placeInRace")
    points: Optional[int]
    overall_points: Optional[int] = Field(alias="overallPoints")
    place_in_round_by_points: Optional[int] = Field(alias="placeInRoundByPoints")
    overall_place_by_points: Optional[int] = Field(alias="overallPlaceByPoints")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsStartList(
    BaseModel
):
    competitor: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsStartListCompetitor"
    ]
    order: Optional[str]
    pb: Optional[str]
    sb: Optional[str]
    bib: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsStartListCompetitor(
    BaseModel
):
    birth_date: Optional[str] = Field(alias="birthDate")
    country: Optional[str]
    id: Optional[str]
    name: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitions(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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPage"]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPage(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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEventPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEvents(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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsCircuits"]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPage"]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsCircuits(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPage(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["GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEvent(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEventPage(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageCampaign(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticles(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional["GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEvent"]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMedia(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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEvent(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPage(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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats(
    BaseModel
):
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsDiscipline"
    ]
    season_best: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest"
            ]
        ]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsRecords"
            ]
        ]
    ]
    timetable: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetable"
            ]
        ]
    ]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResults"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsRecords(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetable(
    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")
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetableDiscipline"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetableDiscipline(
    BaseModel
):
    updated_on: Optional[Any] = Field(alias="updatedOn")
    hash: Optional[str]
    id: Optional[str] = Field(alias="_id")
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResults(
    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]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResultsResults"
            ]
        ]
    ]
    start_list: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResultsStartList"
            ]
        ]
    ] = Field(alias="startList")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResultsResults(
    BaseModel
):
    id: Optional[str]
    mark: Optional[str]
    nationality: Optional[str]
    place: Optional[str]
    points: Optional[int]
    qualified: Optional[bool]
    records: Optional[str]
    wind: Optional[str]
    remark: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResultsStartList(
    BaseModel
):
    order: Optional[str]
    pb: Optional[str]
    sb: Optional[str]
    bib: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitions(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPage"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEventPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEventPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEventPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats(
    BaseModel
):
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsDiscipline"
    ]
    season_best: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest"
            ]
        ]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsRecords"
            ]
        ]
    ]
    timetable: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetable"
            ]
        ]
    ]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResults"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsSeasonBest(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsPreviousMedalists(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsRecords(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetable(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResults(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitions(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPage"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEventsPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesLocations"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEventPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedLinks(BaseModel):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesLocations"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


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


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePages(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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEvent(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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEventsPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePage(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageEvent(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocations(
    BaseModel
):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


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


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesVideosThumbnailImage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesBanners(
    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[
        "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesBannersPage"
    ]


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesBannersPage(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSectionsLinks"
            ]
        ]
    ]


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


class GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesCampaign(
    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 GetNewArticlesGetNewArticlesRelatedArticlesRelatedLinks(BaseModel):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedArticlesContentModules(BaseModel):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedArticlesContentModulesLocations"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedArticlesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


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


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


class GetNewArticlesGetNewArticlesRelatedArticlesContentModulesRelatedVideos(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 GetNewArticlesGetNewArticlesRelatedArticlesContentModulesRelatedVideo(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 GetNewArticlesGetNewArticlesRelatedMinisitePages(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["GetNewArticlesGetNewArticlesRelatedMinisitePagesEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisite"]
    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["GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModules"]]
    ] = 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["GetNewArticlesGetNewArticlesRelatedMinisitePagesCampaign"]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesEvent(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["GetNewArticlesGetNewArticlesRelatedMinisitePagesEventCircuits"]]
    ]
    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["GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventCircuits(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPage(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["GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEvent(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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEventCircuits"
            ]
        ]
    ]
    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["GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEventPage"]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEventCircuits(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEventPage(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteLogo(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageCampaign(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional["GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsors"]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteLogo(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteFeatureImage(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsors(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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModules(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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEventPage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStats(
    BaseModel
):
    discipline: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsDiscipline"
    ]
    season_best: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsSeasonBest"
            ]
        ]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsRecords"
            ]
        ]
    ]
    timetable: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsTimetable"
            ]
        ]
    ]
    results: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsResults"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsSeasonBest(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsPreviousMedalists(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsRecords(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsTimetable(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStatsResults(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitions(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsPage"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsNextEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsLastEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitionsPage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEventsPage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticles(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesEvent"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedCompetitions(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedMinisitePages(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticlesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePages(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesContentModules(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePagesCampaign(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesLocations"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEvents(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsCircuits(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedCompetitors(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = 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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedCompetitorsPrimaryMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePage(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEvent(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEventCircuits"
            ]
        ]
    ]
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEventPage"
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEventCircuits(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEventPage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteDefaultSponsors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisiteSponsors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModules(
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedArticles(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedEvents(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedCompetitors(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedDiscipline(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedMedia(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesMinisitePage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesMinisite(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesLocations(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesBanners(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesSlides(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteFeatureImage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsors(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsorsLightBgLogo"
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsorsLightBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsorsDarkBgLogo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLocations(
    BaseModel
):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


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


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


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesVideosThumbnailImage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBanners(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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPage"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPage(
    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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageMinisite"
    ]
    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[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageContentModules"
            ]
        ]
    ] = 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[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageCampaign"
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageEvent(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageMinisite(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageContentModules(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPageCampaign(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSlides(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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinks"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinks(
    BaseModel
):
    name: Optional[str]
    url: Optional[str]
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinksPage"
    ]
    file_id: Optional[List[Optional[str]]] = Field(alias="fileId")
    file: Optional[
        List[
            Optional[
                "GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinksFile"
            ]
        ]
    ]


class GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinksPage(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinksFile(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedVideos(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedVideo(
    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 GetNewArticlesGetNewArticlesRelatedMinisitePagesCampaign(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 GetNewArticlesGetNewArticlesRelatedLinks(BaseModel):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetNewArticlesGetNewArticlesContentModules(BaseModel):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[Optional["GetNewArticlesGetNewArticlesContentModulesLocations"]]
    ]
    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["GetNewArticlesGetNewArticlesContentModulesRelatedVideos"]]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetNewArticlesGetNewArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


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


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


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


GetNewArticles.model_rebuild()
GetNewArticlesGetNewArticles.model_rebuild()
GetNewArticlesGetNewArticlesEvent.model_rebuild()
GetNewArticlesGetNewArticlesEventPage.model_rebuild()
GetNewArticlesGetNewArticlesEventPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesEventPageEventPage.model_rebuild()
GetNewArticlesGetNewArticlesEventPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesEventPageMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesEventPageMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesMinisitePage.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesVideos.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesBanners.model_rebuild()
GetNewArticlesGetNewArticlesEventPageContentModulesSections.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStats.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStatsTimetable.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStatsResults.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResults.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsResultsCompetitor.model_rebuild()
GetNewArticlesGetNewArticlesRelatedDisciplineStatsResultsStartList.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitions.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsNextEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsNextEventPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsLastEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsLastEventPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisitePage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesVideos.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesBanners.model_rebuild()
GetNewArticlesGetNewArticlesRelatedCompetitionsPageContentModulesSections.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisitePage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesVideos.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesBanners.model_rebuild()
GetNewArticlesGetNewArticlesRelatedEventsPageContentModulesSections.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesEventPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesEventPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesEventPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStats.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsTimetable.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResults.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsResults.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedDisciplineStatsResultsStartList.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitions.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsNextEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsLastEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedCompetitionsPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedEventsPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsTimetable.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStatsResults.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitions.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsNextEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsLastEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedCompetitionsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedEventsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedDisciplineStats.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedCompetitions.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedArticlesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePages.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesRelatedMinisitePagesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedArticlesContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePages.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisitePage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesVideos.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesBanners.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesRelatedMinisitePagesContentModulesSections.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedArticlesContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePages.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesEventPageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedDisciplineStats.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedCompetitions.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedArticles.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesRelatedMinisitePages.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedArticlesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEvents.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedEventsPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesRelatedCompetitors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageEvent.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisitePageContentModules.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisite.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteDefaultSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesMinisiteSponsors.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesLocations.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesVideos.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBanners.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesBannersPage.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSections.model_rebuild()
GetNewArticlesGetNewArticlesRelatedMinisitePagesContentModulesSectionsLinks.model_rebuild()
GetNewArticlesGetNewArticlesContentModules.model_rebuild()
GetNewArticlesGetNewArticlesContentModulesLocations.model_rebuild()
