{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.SportsEvent where

--  Valid: 2016-03-21 (Schema.rdfs.org)

import Text.HTML5.MetaData.Class
import Text.HTML5.MetaData.Type hiding (SportsEvent)
import Data.Text
import Data.Typeable
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Thing
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Event

-- | Event type: Sports event.
--
--   [@id@] SportsEvent
--
--   [@label@] Sports Event
--
--   [@comment@] Event type: Sports event.
--
--   [@ancestors@] @'Thing','Event'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'Event'@
--
--   [@url@] <http://schema.org/SportsEvent>
data SportsEvent = SportsEvent { awayTeam :: AwayTeam
                               , competitor :: Competitor
                               , homeTeam :: HomeTeam
                               , aggregateRating :: AggregateRating
                               , attendee :: Attendee
                               , doorTime :: DoorTime
                               , duration :: Duration
                               , endDate :: EndDate
                               , eventStatus :: EventStatus
                               , inLanguage :: InLanguage
                               , location :: Location
                               , offers :: Offers
                               , organizer :: Organizer
                               , performer :: Performer
                               , previousStartDate :: PreviousStartDate
                               , recordedIn :: RecordedIn
                               , review :: Review
                               , startDate :: StartDate
                               , subEvent :: SubEvent
                               , superEvent :: SuperEvent
                               , typicalAgeRange :: TypicalAgeRange
                               , workFeatured :: WorkFeatured
                               , workPerformed :: WorkPerformed
                               , additionalType :: AdditionalType
                               , alternateName :: AlternateName
                               , description :: Description
                               , image :: Image
                               , mainEntityOfPage :: MainEntityOfPage
                               , name :: Name
                               , potentialAction :: PotentialAction
                               , sameAs :: SameAs
                               , url :: Url
                               }
                   deriving (Show, Read, Eq, Typeable)

instance MetaData SportsEvent where
  _label         = const "Sports Event"
  _comment_plain = const "Event type: Sports event."
  _comment       = const "Event type: Sports event."
  _url           = const "http://schema.org/SportsEvent"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Event.Event)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Event.Event)]