{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.GovernmentBuilding 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.Place
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.CivicStructure
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.CityHall
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Courthouse
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.DefenceEstablishment
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Embassy
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.LegislativeBuilding

-- | A government building.
--
--   [@id@] GovernmentBuilding
--
--   [@label@] Government Building
--
--   [@comment@] A government building.
--
--   [@ancestors@] @'Thing','Place','CivicStructure'@
--
--   [@subtypes@] @'CityHall','Courthouse','DefenceEstablishment','Embassy','LegislativeBuilding'@
--
--   [@supertypes@] @'CivicStructure'@
--
--   [@url@] <http://schema.org/GovernmentBuilding>
data GovernmentBuilding = GovernmentBuilding { openingHours :: OpeningHours
                                             , additionalProperty :: AdditionalProperty
                                             , address :: Address
                                             , aggregateRating :: AggregateRating
                                             , branchCode :: BranchCode
                                             , containedInPlace :: ContainedInPlace
                                             , containsPlace :: ContainsPlace
                                             , event :: Event
                                             , faxNumber :: FaxNumber
                                             , geo :: Geo
                                             , globalLocationNumber :: GlobalLocationNumber
                                             , hasMap :: HasMap
                                             , isicV4 :: IsicV4
                                             , logo :: Logo
                                             , openingHoursSpecification :: OpeningHoursSpecification
                                             , photo :: Photo
                                             , review :: Review
                                             , telephone :: Telephone
                                             , 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 GovernmentBuilding where
  _label         = const "Government Building"
  _comment_plain = const "A government building."
  _comment       = const "A government building."
  _url           = const "http://schema.org/GovernmentBuilding"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Place.Place)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.CivicStructure.CivicStructure)]
  _subtypes      = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.CityHall.CityHall)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Courthouse.Courthouse)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.DefenceEstablishment.DefenceEstablishment)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Embassy.Embassy)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.LegislativeBuilding.LegislativeBuilding)]
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.CivicStructure.CivicStructure)]