AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BookingClassStruct.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP
2 #define __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 #include <vector>
10 // StdAir
11 #include <stdair/stdair_inventory_types.hpp>
12 #include <stdair/basic/StructAbstract.hpp>
13 // AirInv
14 #include <airinv/AIRINV_Types.hpp>
15 
16 // Forward declarations
17 namespace stdair {
18  class BookingClass;
19 }
20 
21 namespace AIRINV {
22 
24  struct BookingClassStruct : public stdair::StructAbstract {
25  // Attributes
26  stdair::ClassCode_T _classCode;
27  stdair::SubclassCode_T _subclassCode;
28  stdair::ClassCode_T _parentClassCode;
29  stdair::SubclassCode_T _parentSubclassCode;
30  stdair::AuthorizationLevel_T _cumulatedProtection;
31  stdair::AuthorizationLevel_T _protection;
32  stdair::NbOfSeats_T _nego;
33  stdair::OverbookingRate_T _noShowPercentage;
34  stdair::OverbookingRate_T _overbookingPercentage;
35  stdair::NbOfBookings_T _nbOfBookings;
36  stdair::NbOfBookings_T _nbOfGroupBookings;
37  stdair::NbOfBookings_T _nbOfPendingGroupBookings;
38  stdair::NbOfBookings_T _nbOfStaffBookings;
39  stdair::NbOfBookings_T _nbOfWLBookings;
40  stdair::NbOfBookings_T _etb;
41  stdair::Availability_T _netClassAvailability;
42  stdair::Availability_T _segmentAvailability;
43  stdair::Availability_T _netRevenueAvailability;
44 
46  stdair::ClassCode_T getFullSubclassCode() const;
47 
50  void fill (stdair::BookingClass&) const;
51 
53  const std::string describe() const;
54 
57  };
58 
60  typedef std::vector<BookingClassStruct> BookingClassStructList_T;
61 
62 }
63 #endif // __AIRINV_BOM_BOOKINGCLASSSTRUCT_HPP