$treeview $search $mathjax
00001 #ifndef __STDAIR_BOM_OPTIMISATIONNOTIFICATIONSTRUCT_HPP 00002 #define __STDAIR_BOM_OPTIMISATIONNOTIFICATIONSTRUCT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iosfwd> 00009 #include <string> 00010 // StdAir 00011 #include <stdair/stdair_inventory_types.hpp> 00012 #include <stdair/stdair_demand_types.hpp> 00013 #include <stdair/basic/StructAbstract.hpp> 00014 #include <stdair/bom/OptimisationNotificationTypes.hpp> 00015 00016 namespace stdair { 00017 00019 struct OptimisationNotificationStruct : public StructAbstract { 00020 public: 00021 // /////////////// Getters ///////////////// 00023 const AirportCode_T& getOrigin() const { 00024 return _origin; 00025 } 00026 00028 const AirportCode_T& getDestination() const { 00029 return _destination; 00030 } 00031 00033 const CityCode_T& getPOS() const { 00034 return _pos; 00035 } 00036 00038 const Date_T& getPreferedDepartureDate() const { 00039 return _preferredDepartureDate; 00040 } 00041 00043 const DateTime_T& getNotificationDateTime() const { 00044 return _notificationDateTime; 00045 } 00046 00048 const CabinCode_T& getPreferredCabin() const { 00049 return _preferredCabin; 00050 } 00051 00053 const NbOfSeats_T& getPartySize() const { 00054 return _partySize; 00055 } 00056 00058 const ChannelLabel_T& getOptimisationChannel() const { 00059 return _channel; 00060 } 00061 00063 const TripType_T& getTripType() const { 00064 return _tripType; 00065 } 00066 00068 const DayDuration_T& getStayDuration() const { 00069 return _stayDuration; 00070 } 00071 00073 const FrequentFlyer_T& getFrequentFlyerType() const { 00074 return _frequentFlyerType; 00075 } 00076 00078 const Duration_T& getPreferredDepartureTime() const { 00079 return _preferredDepartureTime; 00080 } 00081 00083 const WTP_T& getWTP() const { 00084 return _wtp; 00085 } 00086 00088 const PriceValue_T& getValueOfTime () const { 00089 return _valueOfTime; 00090 } 00091 00092 // /////////// Display support method ///////////// 00095 void toStream (std::ostream& ioOut) const; 00096 00099 void fromStream (std::istream& ioIn); 00100 00102 const std::string describe() const; 00103 00104 00105 // /////////////// Constructors and Destructors ///////////////// 00106 public: 00108 OptimisationNotificationStruct (const AirportCode_T& iOrigin, 00109 const AirportCode_T& iDestination, 00110 const CityCode_T& iPOS, 00111 const Date_T& iDepartureDate, 00112 const DateTime_T& iNotificationDateTime, 00113 const CabinCode_T& iPreferredCabin, 00114 const NbOfSeats_T& iPartySize, 00115 const ChannelLabel_T& iChannel, 00116 const TripType_T& iTripType, 00117 const DayDuration_T& iStayDuration, 00118 const FrequentFlyer_T& iFrequentFlyerType, 00119 const Duration_T& iPreferredDepartureTime, 00120 const WTP_T& iWTP, 00121 const PriceValue_T& iValueOfTime); 00122 00124 OptimisationNotificationStruct (const OptimisationNotificationStruct&); 00125 00126 private: 00129 OptimisationNotificationStruct (); 00130 00131 public: 00133 ~OptimisationNotificationStruct(); 00134 00135 00136 private: 00137 // /////////////// Attributes ///////////////// 00139 const AirportCode_T _origin; 00140 00142 const AirportCode_T _destination; 00143 00145 const CityCode_T _pos; 00146 00148 const Date_T _preferredDepartureDate; 00149 00151 const DateTime_T _notificationDateTime; 00152 00154 const CabinCode_T _preferredCabin; 00155 00157 const NbOfSeats_T _partySize; 00158 00160 const ChannelLabel_T _channel; 00161 00164 const TripType_T _tripType; 00165 00167 const DayDuration_T _stayDuration; 00168 00170 const FrequentFlyer_T _frequentFlyerType; 00171 00173 const Duration_T _preferredDepartureTime; 00174 00176 const WTP_T _wtp; 00177 00179 const PriceValue_T _valueOfTime; 00180 }; 00181 00182 } 00183 #endif // __STDAIR_BOM_OPTIMISATIONNOTIFICATIONSTRUCT_HPP