AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
BookingClassStruct.hpp
Go to the documentation of this file.
00001 #ifndef __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP
00002 #define __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 #include <vector>
00010 // StdAir
00011 #include <stdair/stdair_inventory_types.hpp>
00012 #include <stdair/basic/StructAbstract.hpp>
00013 // AirInv
00014 #include <airinv/AIRINV_Types.hpp>
00015 
00016 // Forward declarations
00017 namespace stdair {
00018   class BookingClass;
00019 }
00020 
00021 namespace AIRINV {
00022 
00024   struct BookingClassStruct : public stdair::StructAbstract {
00025     // Attributes
00026     stdair::ClassCode_T _classCode;
00027     stdair::SubclassCode_T _subclassCode;
00028     stdair::ClassCode_T _parentClassCode;
00029     stdair::SubclassCode_T _parentSubclassCode;
00030     stdair::AuthorizationLevel_T _cumulatedProtection;
00031     stdair::AuthorizationLevel_T _protection;
00032     stdair::NbOfSeats_T _nego;
00033     stdair::OverbookingRate_T _noShowPercentage;
00034     stdair::OverbookingRate_T _overbookingPercentage;
00035     stdair::NbOfBookings_T _nbOfBookings;
00036     stdair::NbOfBookings_T _nbOfGroupBookings;
00037     stdair::NbOfBookings_T _nbOfPendingGroupBookings;
00038     stdair::NbOfBookings_T _nbOfStaffBookings;
00039     stdair::NbOfBookings_T _nbOfWLBookings;
00040     stdair::NbOfBookings_T _etb;
00041     stdair::Availability_T _netClassAvailability;
00042     stdair::Availability_T _segmentAvailability;
00043     stdair::Availability_T _netRevenueAvailability;
00044 
00046     stdair::ClassCode_T getFullSubclassCode() const;
00047 
00050     void fill (stdair::BookingClass&) const;
00051       
00053     const std::string describe() const;
00054 
00056     BookingClassStruct();
00057   };
00058 
00060   typedef std::vector<BookingClassStruct> BookingClassStructList_T;
00061 
00062 }
00063 #endif // __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP