Go to the documentation of this file.00001 #ifndef __STDAIR_BOM_OPTIMISATIONNOTIFICATIONSTRUCT_HPP
00002 #define __STDAIR_BOM_OPTIMISATIONNOTIFICATIONSTRUCT_HPP
00003
00004
00005
00006
00007
00008 #include <iosfwd>
00009 #include <string>
00010
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
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
00095 void toStream (std::ostream& ioOut) const;
00096
00099 void fromStream (std::istream& ioIn);
00100
00102 const std::string describe() const;
00103
00104
00105
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
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