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

-- | A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
--
--   [@id@] Vehicle
--
--   [@label@] Vehicle
--
--   [@comment@] A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
--
--   [@ancestors@] @'Thing','Product'@
--
--   [@subtypes@] @'Car'@
--
--   [@supertypes@] @'Product'@
--
--   [@url@] <http://schema.org/Vehicle>
data Vehicle = Vehicle { 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 Vehicle where
  _label         = const "Vehicle"
  _comment_plain = const "A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space."
  _comment       = const "A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space."
  _url           = const "http://schema.org/Vehicle"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Product.Product)]
  _subtypes      = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Car.Car)]
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Product.Product)]