diff --git a/casr-logbook.cabal b/casr-logbook.cabal
--- a/casr-logbook.cabal
+++ b/casr-logbook.cabal
@@ -1,5 +1,5 @@
 name:               casr-logbook
-version:            0.7.1
+version:            0.7.2
 license:            OtherLicense
 license-file:       LICENSE
 author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+0.7.2
+
+* Separate variant type in `Aircraft` data type.
+
+0.7.1
+
+* Separate year model in `Aircraft` data type.
+
 0.7.0
 
 * Widen dependency versions
diff --git a/src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs b/src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs
--- a/src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs
+++ b/src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs
@@ -37,6 +37,8 @@
       TimeAmount
   , _hoursInAircraftType ::
       Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)
+  , _hoursInAircraftTypeVariant ::
+      Map (String, String) (TimeAmount, TimeAmount, TimeAmount, TimeAmount)
   , _hoursInAircraftRegistration ::
       Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)
   , _hoursSingleEngine ::
@@ -96,7 +98,7 @@
 makeClassy ''FlightTimeReport
 
 instance Semigroup FlightTimeReport where
-  FlightTimeReport ft1 tl1 tli1 tld1 tlc1 tp1 rg1 se1 sei1 sed1 sec1 me1 mei1 med1 mec1 dy1 dyi1 dyd1 dyc1 ins1 insg1 insg1_1 insg1_2 insg1_3 insr1  insr1_j insr1_s nt1 nti1 ntd1 ntc1 wpc1 is1 <> FlightTimeReport ft2 tl2 tli2 tld2 tlc2 tp2 rg2 se2 sei2 sed2 sec2 me2 mei2 med2 mec2 dy2 dyi2 dyd2 dyc2 ins2 insg2 insg2_1 insg2_2 insg2_3 insr2 insr2_j insr2_s nt2 nti2 ntd2 ntc2 wpc2 is2 =
+  FlightTimeReport ft1 tl1 tli1 tld1 tlc1 tp1 tv1 rg1 se1 sei1 sed1 sec1 me1 mei1 med1 mec1 dy1 dyi1 dyd1 dyc1 ins1 insg1 insg1_1 insg1_2 insg1_3 insr1  insr1_j insr1_s nt1 nti1 ntd1 ntc1 wpc1 is1 <> FlightTimeReport ft2 tl2 tli2 tld2 tlc2 tp2 tv2 rg2 se2 sei2 sed2 sec2 me2 mei2 med2 mec2 dy2 dyi2 dyd2 dyc2 ins2 insg2 insg2_1 insg2_2 insg2_3 insr2 insr2_j insr2_s nt2 nti2 ntd2 ntc2 wpc2 is2 =
     FlightTimeReport
       (ft1 + ft2)
       (tl1 <> tl2)
@@ -104,6 +106,7 @@
       (tld1 <> tld2)
       (tlc1 <> tlc2)
       (Map.unionWith mappend tp1 tp2)
+      (Map.unionWith mappend tv1 tv2)
       (Map.unionWith mappend rg1 rg2)
       (se1 <> se2)
       (sei1 <> sei2)
@@ -168,6 +171,7 @@
       mempty
       mempty
       mempty
+      mempty
   mappend =
     (<>)
 
@@ -305,6 +309,7 @@
         (dual hoursdaynight)
         (comd hoursdaynight)
         (hoursmap (fl ^. flightaircraft . aircraftType))
+        (hoursmap (fl ^. flightaircraft . aircraftType, fl ^. flightaircraft . aircraftTypeVariant))
         (hoursmap (fl ^. flightaircraft . aircraftRegistration))
         (singleengine hoursdaynight)
         (singleengine (icus hoursdaynight))
diff --git a/src/Data/Aviation/Casr/Logbook/Reports/Html.hs b/src/Data/Aviation/Casr/Logbook/Reports/Html.hs
--- a/src/Data/Aviation/Casr/Logbook/Reports/Html.hs
+++ b/src/Data/Aviation/Casr/Logbook/Reports/Html.hs
@@ -38,7 +38,7 @@
                           hoursMultiEngineDual, hoursMultiEngineICUS, hoursMultiEngine,
                           hoursSingleEngineInCommand, hoursSingleEngineDual,
                           hoursSingleEngineICUS, hoursSingleEngine,
-                          hoursInAircraftRegistration, hoursInAircraftType, hoursInstructing,
+                          hoursInAircraftRegistration, hoursInAircraftType, hoursInAircraftTypeVariant, hoursInstructing,
                           hoursTotalInCommand, hoursTotalDual, hoursTotalICUS, hoursTotal,
                           flightsTotal) )
 import Data.Aviation.Casr.Logbook.Reports.SimulatorTimeReport
@@ -222,6 +222,26 @@
                                           do  span_ [class_ "key"] "in-command: "
                                               span_ [class_ "value"] . htmlTimeAmount $ ic
                             x) mempty $ r ^. hoursInAircraftType
+              li_ [] $
+                do  span_ [class_ "key"] "Hours in type variant: "
+                    div_ [class_ "value"] .
+                      ul_ [] . Map.foldrWithKey (\(y, v) (tl, iu, dl, ic) x ->
+                        do  li_ [] $
+                              do  span_ [class_ "aircrafttypevariant"] $ fromString (y ++ " " ++ v)
+                                  ul_ [] $
+                                    do  li_ [] $
+                                          do  span_ [class_ "key"] "total: "
+                                              span_ [class_ "value"] . htmlTimeAmount $ tl
+                                        li_ [] $
+                                          do  span_ [class_ "key"] "in-command under-instruction: "
+                                              span_ [class_ "value"] . htmlTimeAmount $ iu
+                                        li_ [] $
+                                          do  span_ [class_ "key"] "dual under-instruction: "
+                                              span_ [class_ "value"] . htmlTimeAmount $ dl
+                                        li_ [] $
+                                          do  span_ [class_ "key"] "in-command: "
+                                              span_ [class_ "value"] . htmlTimeAmount $ ic
+                            x) mempty $ r ^. hoursInAircraftTypeVariant
               li_ [] $
                 do  span_ [class_ "key"] "Hours in registration: "
                     div_ [class_ "value"] .
diff --git a/src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs b/src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs
--- a/src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs
+++ b/src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs
@@ -20,6 +20,7 @@
   Aircraft {
     _aircraftYearModel :: String
   , _aircraftType :: String
+  , _aircraftTypeVariant :: String
   , _aircraftRegistration :: String
   , _aircraftEngine :: Engine
   } deriving (Eq, Ord, Show)
@@ -30,11 +31,13 @@
   String
   -> String
   -> String
+  -> String
   -> Aircraft
-singleaircraft y t r =
+singleaircraft y t v r =
   Aircraft
     y
     t
+    v
     r
     Single
 
@@ -42,10 +45,12 @@
   String
   -> String
   -> String
+  -> String
   -> Aircraft
-multiaircraft y t r =
+multiaircraft y t v r =
   Aircraft
     y
     t
+    v
     r
     Multi
