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

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

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

-- | Event type: Theater performance.
--
--   [@id@] TheaterEvent
--
--   [@label@] Theater Event
--
--   [@comment@] Event type: Theater performance.
--
--   [@ancestors@] @'Thing','Event'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'Event'@
--
--   [@url@] <http://schema.org/TheaterEvent>
data TheaterEvent = TheaterEvent { 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 TheaterEvent where
  _label         = const "Theater Event"
  _comment_plain = const "Event type: Theater performance."
  _comment       = const "Event type: Theater performance."
  _url           = const "http://schema.org/TheaterEvent"
  _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)]