Go to the documentation of this file.00001 #ifndef __STDAIR_BOM_BOOKINGREQUESTSTRUCT_HPP
00002 #define __STDAIR_BOM_BOOKINGREQUESTSTRUCT_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/BookingRequestTypes.hpp>
00015
00016 namespace stdair {
00017
00021 struct BookingRequestStruct : public StructAbstract {
00022 public:
00023
00025 const DemandGeneratorKey_T& getDemandGeneratorKey () const {
00026 return _generatorKey;
00027 }
00028
00030 const AirportCode_T& getOrigin() const {
00031 return _origin;
00032 }
00033
00035 const AirportCode_T& getDestination() const {
00036 return _destination;
00037 }
00038
00040 const CityCode_T& getPOS() const {
00041 return _pos;
00042 }
00043
00045 const Date_T& getPreferedDepartureDate() const {
00046 return _preferredDepartureDate;
00047 }
00048
00050 const Duration_T& getPreferredDepartureTime() const {
00051 return _preferredDepartureTime;
00052 }
00053
00055 const DateTime_T& getRequestDateTime() const {
00056 return _requestDateTime;
00057 }
00058
00060 const CabinCode_T& getPreferredCabin() const {
00061 return _preferredCabin;
00062 }
00063
00065 const NbOfSeats_T& getPartySize() const {
00066 return _partySize;
00067 }
00068
00070 const ChannelLabel_T& getBookingChannel() const {
00071 return _channel;
00072 }
00073
00075 const TripType_T& getTripType() const {
00076 return _tripType;
00077 }
00078
00080 const DayDuration_T& getStayDuration() const {
00081 return _stayDuration;
00082 }
00083
00085 const FrequentFlyer_T& getFrequentFlyerType() const {
00086 return _frequentFlyerType;
00087 }
00088
00090 const WTP_T& getWTP() const {
00091 return _wtp;
00092 }
00093
00095 const PriceValue_T& getValueOfTime () const {
00096 return _valueOfTime;
00097 }
00098
00099
00100 public:
00101
00106 void toStream (std::ostream& ioOut) const;
00107
00112 void fromStream (std::istream& ioIn);
00113
00117 const std::string describe() const;
00118
00169 const std::string display() const;
00170
00171
00172 public:
00173
00177 BookingRequestStruct (const DemandGeneratorKey_T& iGeneratorKey,
00178 const AirportCode_T& iOrigin,
00179 const AirportCode_T& iDestination,
00180 const CityCode_T& iPOS,
00181 const Date_T& iDepartureDate,
00182 const DateTime_T& iRequestDateTime,
00183 const CabinCode_T& iPreferredCabin,
00184 const NbOfSeats_T& iPartySize,
00185 const ChannelLabel_T& iChannel,
00186 const TripType_T& iTripType,
00187 const DayDuration_T& iStayDuration,
00188 const FrequentFlyer_T& iFrequentFlyerType,
00189 const Duration_T& iPreferredDepartureTime,
00190 const WTP_T& iWTP,
00191 const PriceValue_T& iValueOfTime);
00192
00196 BookingRequestStruct (const AirportCode_T& iOrigin,
00197 const AirportCode_T& iDestination,
00198 const CityCode_T& iPOS,
00199 const Date_T& iDepartureDate,
00200 const DateTime_T& iRequestDateTime,
00201 const CabinCode_T& iPreferredCabin,
00202 const NbOfSeats_T& iPartySize,
00203 const ChannelLabel_T& iChannel,
00204 const TripType_T& iTripType,
00205 const DayDuration_T& iStayDuration,
00206 const FrequentFlyer_T& iFrequentFlyerType,
00207 const Duration_T& iPreferredDepartureTime,
00208 const WTP_T& iWTP,
00209 const PriceValue_T& iValueOfTime);
00213 BookingRequestStruct (const BookingRequestStruct&);
00214
00218 ~BookingRequestStruct();
00219
00220
00221 private:
00227 BookingRequestStruct();
00228
00229
00230 private:
00231
00233 const DemandGeneratorKey_T _generatorKey;
00234
00236 const AirportCode_T _origin;
00237
00239 const AirportCode_T _destination;
00240
00242 const CityCode_T _pos;
00243
00245 const Date_T _preferredDepartureDate;
00246
00248 const Duration_T _preferredDepartureTime;
00249
00251 const DateTime_T _requestDateTime;
00252
00254 const CabinCode_T _preferredCabin;
00255
00257 const NbOfSeats_T _partySize;
00258
00260 const ChannelLabel_T _channel;
00261
00264 const TripType_T _tripType;
00265
00267 const DayDuration_T _stayDuration;
00268
00270 const FrequentFlyer_T _frequentFlyerType;
00271
00273 const WTP_T _wtp;
00274
00276 const PriceValue_T _valueOfTime;
00277 };
00278
00279 }
00280 #endif // __STDAIR_BOM_BOOKINGREQUESTSTRUCT_HPP