{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE TemplateHaskell #-}

module Data.Aviation.Casr.Logbook.Reports.TakeOffLanding90(
  TakeOffLanding90(..)
, HasTakeOffLanding90(..)
) where

import Control.Lens(makeClassy)
import Data.Aviation.Casr.Logbook.Types.FlightPoint ( FlightPoint )
import Data.Eq(Eq)
import Data.Ord(Ord)
import Data.Time(Day)
import Prelude(Show)

data TakeOffLanding90 =
  TakeOffLanding90 {
    TakeOffLanding90 -> FlightPoint
_takeoff1 ::
      FlightPoint
  , TakeOffLanding90 -> FlightPoint
_takeoff2 ::
      FlightPoint
  , TakeOffLanding90 -> FlightPoint
_takeoff3 ::
      FlightPoint
  , TakeOffLanding90 -> FlightPoint
_landing1 ::
      FlightPoint
  , TakeOffLanding90 -> FlightPoint
_landing2 ::
      FlightPoint
  , TakeOffLanding90 -> FlightPoint
_landing3 ::
      FlightPoint
  , TakeOffLanding90 -> Day
_currency90 ::
      Day
  }
  deriving (TakeOffLanding90 -> TakeOffLanding90 -> Bool
(TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> (TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> Eq TakeOffLanding90
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
== :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
$c/= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
/= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
Eq, Eq TakeOffLanding90
Eq TakeOffLanding90 =>
(TakeOffLanding90 -> TakeOffLanding90 -> Ordering)
-> (TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> (TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> (TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> (TakeOffLanding90 -> TakeOffLanding90 -> Bool)
-> (TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90)
-> (TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90)
-> Ord TakeOffLanding90
TakeOffLanding90 -> TakeOffLanding90 -> Bool
TakeOffLanding90 -> TakeOffLanding90 -> Ordering
TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: TakeOffLanding90 -> TakeOffLanding90 -> Ordering
compare :: TakeOffLanding90 -> TakeOffLanding90 -> Ordering
$c< :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
< :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
$c<= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
<= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
$c> :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
> :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
$c>= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
>= :: TakeOffLanding90 -> TakeOffLanding90 -> Bool
$cmax :: TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90
max :: TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90
$cmin :: TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90
min :: TakeOffLanding90 -> TakeOffLanding90 -> TakeOffLanding90
Ord, Int -> TakeOffLanding90 -> ShowS
[TakeOffLanding90] -> ShowS
TakeOffLanding90 -> String
(Int -> TakeOffLanding90 -> ShowS)
-> (TakeOffLanding90 -> String)
-> ([TakeOffLanding90] -> ShowS)
-> Show TakeOffLanding90
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TakeOffLanding90 -> ShowS
showsPrec :: Int -> TakeOffLanding90 -> ShowS
$cshow :: TakeOffLanding90 -> String
show :: TakeOffLanding90 -> String
$cshowList :: [TakeOffLanding90] -> ShowS
showList :: [TakeOffLanding90] -> ShowS
Show)

makeClassy ''TakeOffLanding90