StdAir Logo  0.45.0
C++ Standard Airline IT Object Library
OptimisationNotificationStruct.hpp
Go to the documentation of this file.
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