{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.Car 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.Product
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Vehicle

-- | A car is a wheeled, self-powered motor vehicle used for transportation.
--
--   [@id@] Car
--
--   [@label@] Car
--
--   [@comment@] A car is a wheeled, self-powered motor vehicle used for transportation.
--
--   [@ancestors@] @'Thing','Product','Vehicle'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'Vehicle'@
--
--   [@url@] <http://schema.org/Car>
data Car = Car { cargoVolume :: CargoVolume
               , dateVehicleFirstRegistered :: DateVehicleFirstRegistered
               , driveWheelConfiguration :: DriveWheelConfiguration
               , fuelConsumption :: FuelConsumption
               , fuelEfficiency :: FuelEfficiency
               , fuelType :: FuelType
               , knownVehicleDamages :: KnownVehicleDamages
               , mileageFromOdometer :: MileageFromOdometer
               , numberOfAirbags :: NumberOfAirbags
               , numberOfAxles :: NumberOfAxles
               , numberOfDoors :: NumberOfDoors
               , numberOfForwardGears :: NumberOfForwardGears
               , numberOfPreviousOwners :: NumberOfPreviousOwners
               , productionDate :: ProductionDate
               , purchaseDate :: PurchaseDate
               , steeringPosition :: SteeringPosition
               , vehicleConfiguration :: VehicleConfiguration
               , vehicleEngine :: VehicleEngine
               , vehicleIdentificationNumber :: VehicleIdentificationNumber
               , vehicleInteriorColor :: VehicleInteriorColor
               , vehicleInteriorType :: VehicleInteriorType
               , vehicleModelDate :: VehicleModelDate
               , vehicleSeatingCapacity :: VehicleSeatingCapacity
               , vehicleTransmission :: VehicleTransmission
               , additionalProperty :: AdditionalProperty
               , aggregateRating :: AggregateRating
               , audience :: Audience
               , award :: Award
               , brand :: Brand
               , category :: Category
               , color :: Color
               , depth :: Depth
               , gtin12 :: Gtin12
               , gtin13 :: Gtin13
               , gtin14 :: Gtin14
               , gtin8 :: Gtin8
               , height :: Height
               , isAccessoryOrSparePartFor :: IsAccessoryOrSparePartFor
               , isConsumableFor :: IsConsumableFor
               , isRelatedTo :: IsRelatedTo
               , isSimilarTo :: IsSimilarTo
               , itemCondition :: ItemCondition
               , logo :: Logo
               , manufacturer :: Manufacturer
               , model :: Model
               , mpn :: Mpn
               , offers :: Offers
               , productID :: ProductID
               , releaseDate :: ReleaseDate
               , review :: Review
               , sku :: Sku
               , weight :: Weight
               , width :: Width
               , 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 Car where
  _label         = const "Car"
  _comment_plain = const "A car is a wheeled, self-powered motor vehicle used for transportation."
  _comment       = const "A car is a wheeled, self-powered motor vehicle used for transportation."
  _url           = const "http://schema.org/Car"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Product.Product)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Vehicle.Vehicle)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Vehicle.Vehicle)]