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

--  Valid: 2016-02-03 (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

-- | A person (alive, dead, undead, or fictional).
--
--   [@id@] Person
--
--   [@label@] Person
--
--   [@comment@] A person (alive, dead, undead, or fictional).
--
--   [@ancestors@] @'Thing'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'Thing'@
--
--   [@url@] <http://schema.org/Person>
data Person = Person { additionalName :: AdditionalName
                     , address :: Address
                     , affiliation :: Affiliation
                     , alumniOf :: AlumniOf
                     , award :: Award
                     , birthDate :: BirthDate
                     , birthPlace :: BirthPlace
                     , brand :: Brand
                     , children :: Children
                     , colleague :: Colleague
                     , contactPoint :: ContactPoint
                     , deathDate :: DeathDate
                     , deathPlace :: DeathPlace
                     , duns :: Duns
                     , email :: Email
                     , familyName :: FamilyName
                     , faxNumber :: FaxNumber
                     , follows :: Follows
                     , gender :: Gender
                     , givenName :: GivenName
                     , globalLocationNumber :: GlobalLocationNumber
                     , hasOfferCatalog :: HasOfferCatalog
                     , hasPOS :: HasPOS
                     , height :: Height
                     , homeLocation :: HomeLocation
                     , honorificPrefix :: HonorificPrefix
                     , honorificSuffix :: HonorificSuffix
                     , isicV4 :: IsicV4
                     , jobTitle :: JobTitle
                     , knows :: Knows
                     , makesOffer :: MakesOffer
                     , memberOf :: MemberOf
                     , naics :: Naics
                     , nationality :: Nationality
                     , netWorth :: NetWorth
                     , owns :: Owns
                     , parent :: Parent
                     , performerIn :: PerformerIn
                     , relatedTo :: RelatedTo
                     , seeks :: Seeks
                     , sibling :: Sibling
                     , spouse :: Spouse
                     , taxID :: TaxID
                     , telephone :: Telephone
                     , vatID :: VatID
                     , weight :: Weight
                     , workLocation :: WorkLocation
                     , worksFor :: WorksFor
                     , 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 Person where
  _label         = const "Person"
  _comment_plain = const "A person (alive, dead, undead, or fictional)."
  _comment       = const "A person (alive, dead, undead, or fictional)."
  _url           = const "http://schema.org/Person"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)]