# Hierarchy For All Packages

Package Hierarchies:

- com.uca.bookings,
- com.uca.data_validation,
- com.uca.flights

## Class Hierarchy

- java.lang.Object
  - com.uca.flights.Airport
  - com.uca.flights.AirportId (implements java.lang.Comparable<T>)
  - com.uca.bookings.Booking
  - com.uca.flights.CitiesAndAirportsRegistry
  - com.uca.flights.City
  - com.uca.flights.CityId (implements java.lang.Comparable<T>)
  - com.uca.flights.Company
  - com.uca.bookings.Customer
  - com.uca.flights.Flight
  - com.uca.flights.FlightId (implements java.lang.Comparable<T>)
  - com.uca.data_validation.IdentifierValidator
  - com.uca.flights.Jump (implements java.lang.Cloneable, java.util.Iterator<E>)
  - com.uca.bookings.Passenger
  - Start
  - com.uca.flights.Step (implements java.lang.Cloneable, java.util.Iterator<E>)
  - com.uca.data_validation.StringValidator
  - com.uca.flights.Trip (implements java.lang.Cloneable)
  - com.uca.flights.TripBuilder (implements java.lang.Cloneable)

## Interface Hierarchy

- com.uca.bookings.PaymentMethod
- com.uca.bookings.State

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.uca.bookings.BookingState (implements com.uca.bookings.State)