{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.MedicalOrganization 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.Organization
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.LocalBusiness
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.MedicalOrganization
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Place
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Dentist
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.DiagnosticLab
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Hospital
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.MedicalClinic
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Optician
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Pharmacy
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Physician
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.VeterinaryCare

-- | A medical organization, such as a doctor's office or clinic.
--
--   [@id@] MedicalOrganization
--
--   [@label@] Medical Organization
--
--   [@comment@] A medical organization, such as a doctor's office or clinic.
--
--   [@ancestors@] @'Thing','Organization','LocalBusiness','MedicalOrganization','Thing','Place','LocalBusiness'@
--
--   [@subtypes@] @'Dentist','DiagnosticLab','Hospital','MedicalClinic','Optician','Pharmacy','Physician','VeterinaryCare'@
--
--   [@supertypes@] @'LocalBusiness'@
--
--   [@url@] <http://schema.org/MedicalOrganization>
data MedicalOrganization = MedicalOrganization { branchCode :: BranchCode
                                               , currenciesAccepted :: CurrenciesAccepted
                                               , openingHours :: OpeningHours
                                               , paymentAccepted :: PaymentAccepted
                                               , priceRange :: PriceRange
                                               , additionalProperty :: AdditionalProperty
                                               , address :: Address
                                               , aggregateRating :: AggregateRating
                                               , 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
                                               , alumni :: Alumni
                                               , areaServed :: AreaServed
                                               , award :: Award
                                               , brand :: Brand
                                               , contactPoint :: ContactPoint
                                               , department :: Department
                                               , dissolutionDate :: DissolutionDate
                                               , duns :: Duns
                                               , email :: Email
                                               , employee :: Employee
                                               , founder :: Founder
                                               , foundingDate :: FoundingDate
                                               , foundingLocation :: FoundingLocation
                                               , hasOfferCatalog :: HasOfferCatalog
                                               , hasPOS :: HasPOS
                                               , legalName :: LegalName
                                               , location :: Location
                                               , makesOffer :: MakesOffer
                                               , member :: Member
                                               , memberOf :: MemberOf
                                               , naics :: Naics
                                               , numberOfEmployees :: NumberOfEmployees
                                               , owns :: Owns
                                               , parentOrganization :: ParentOrganization
                                               , seeks :: Seeks
                                               , subOrganization :: SubOrganization
                                               , taxID :: TaxID
                                               , vatID :: VatID
                                               , 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 MedicalOrganization where
  _label         = const "Medical Organization"
  _comment_plain = const "A medical organization, such as a doctor's office or clinic."
  _comment       = const "A medical organization, such as a doctor's office or clinic."
  _url           = const "http://schema.org/MedicalOrganization"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Organization.Organization)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.LocalBusiness.LocalBusiness)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalOrganization.MedicalOrganization)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Place.Place)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.LocalBusiness.LocalBusiness)]
  _subtypes      = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Dentist.Dentist)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.DiagnosticLab.DiagnosticLab)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Hospital.Hospital)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalClinic.MedicalClinic)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Optician.Optician)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Pharmacy.Pharmacy)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Physician.Physician)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.VeterinaryCare.VeterinaryCare)]
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.LocalBusiness.LocalBusiness)]