{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.PlaceOfWorship 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.BuddhistTemple
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.CatholicChurch
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Church
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.HinduTemple
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Mosque
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Synagogue

-- | Place of worship, such as a church, synagogue, or mosque.
--
--   [@id@] PlaceOfWorship
--
--   [@label@] Place of Worship
--
--   [@comment@] Place of worship, such as a church, synagogue, or mosque.
--
--   [@ancestors@] @'Thing','Place','CivicStructure'@
--
--   [@subtypes@] @'BuddhistTemple','CatholicChurch','Church','HinduTemple','Mosque','Synagogue'@
--
--   [@supertypes@] @'CivicStructure'@
--
--   [@url@] <http://schema.org/PlaceOfWorship>
data PlaceOfWorship = PlaceOfWorship { 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 PlaceOfWorship where
  _label         = const "Place of Worship"
  _comment_plain = const "Place of worship, such as a church, synagogue, or mosque."
  _comment       = const "Place of worship, such as a church, synagogue, or mosque."
  _url           = const "http://schema.org/PlaceOfWorship"
  _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.BuddhistTemple.BuddhistTemple)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.CatholicChurch.CatholicChurch)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Church.Church)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.HinduTemple.HinduTemple)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Mosque.Mosque)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Synagogue.Synagogue)]
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.CivicStructure.CivicStructure)]