StdAir Logo  1.00.3
C++ Standard Airline IT Object Library
BookingRequestStruct.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_BOOKINGREQUESTSTRUCT_HPP
2 #define __STDAIR_BOM_BOOKINGREQUESTSTRUCT_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
15 
16 namespace stdair {
17 
22  public:
23  // /////////////// Getters /////////////////
26  return _generatorKey;
27  }
28 
30  const AirportCode_T& getOrigin() const {
31  return _origin;
32  }
33 
35  const AirportCode_T& getDestination() const {
36  return _destination;
37  }
38 
40  const CityCode_T& getPOS() const {
41  return _pos;
42  }
43 
46  return _preferredDepartureDate;
47  }
48 
51  return _preferredDepartureTime;
52  }
53 
55  const DateTime_T& getRequestDateTime() const {
56  return _requestDateTime;
57  }
58 
60  const CabinCode_T& getPreferredCabin() const {
61  return _preferredCabin;
62  }
63 
65  const NbOfSeats_T& getPartySize() const {
66  return _partySize;
67  }
68 
71  return _channel;
72  }
73 
75  const TripType_T& getTripType() const {
76  return _tripType;
77  }
78 
80  const DayDuration_T& getStayDuration() const {
81  return _stayDuration;
82  }
83 
86  return _frequentFlyerType;
87  }
88 
90  const WTP_T& getWTP() const {
91  return _wtp;
92  }
93 
95  const PriceValue_T& getValueOfTime () const {
96  return _valueOfTime;
97  }
98 
100  const ChangeFees_T& getChangeFees () const {
101  return _changeFees;
102  }
103 
106  return _changeFeeDisutility;
107  }
108 
111  return _nonRefundable;
112  }
113 
116  return _nonRefundableDisutility;
117  }
118 
119 
120  public:
121  // /////////// Display support method /////////////
126  void toStream (std::ostream& ioOut) const;
127 
132  void fromStream (std::istream& ioIn);
133 
137  const std::string describe() const;
138 
189  const std::string display() const;
190 
191 
192  public:
193  // /////////////// Constructors and Destructors /////////////////
197  BookingRequestStruct (const DemandGeneratorKey_T& iGeneratorKey,
198  const AirportCode_T& iOrigin,
199  const AirportCode_T& iDestination,
200  const CityCode_T& iPOS,
201  const Date_T& iDepartureDate,
202  const DateTime_T& iRequestDateTime,
203  const CabinCode_T& iPreferredCabin,
204  const NbOfSeats_T& iPartySize,
205  const ChannelLabel_T& iChannel,
206  const TripType_T& iTripType,
207  const DayDuration_T& iStayDuration,
208  const FrequentFlyer_T& iFrequentFlyerType,
209  const Duration_T& iPreferredDepartureTime,
210  const WTP_T& iWTP,
211  const PriceValue_T& iValueOfTime,
212  const ChangeFees_T& iChangeFees,
213  const Disutility_T& iChangeFeeDisutility,
214  const NonRefundable_T& iNonRefundable,
215  const Disutility_T& iNonRefundableDisutility);
216 
220  BookingRequestStruct (const AirportCode_T& iOrigin,
221  const AirportCode_T& iDestination,
222  const CityCode_T& iPOS,
223  const Date_T& iDepartureDate,
224  const DateTime_T& iRequestDateTime,
225  const CabinCode_T& iPreferredCabin,
226  const NbOfSeats_T& iPartySize,
227  const ChannelLabel_T& iChannel,
228  const TripType_T& iTripType,
229  const DayDuration_T& iStayDuration,
230  const FrequentFlyer_T& iFrequentFlyerType,
231  const Duration_T& iPreferredDepartureTime,
232  const WTP_T& iWTP,
233  const PriceValue_T& iValueOfTime,
234  const ChangeFees_T& iChangeFees,
235  const Disutility_T& iChangeFeeDisutility,
236  const NonRefundable_T& iNonRefundable,
237  const Disutility_T& iNonRefundableDisutility);
242 
247 
248 
249  private:
256 
257 
258  private:
259  // /////////////// Attributes /////////////////
261  const DemandGeneratorKey_T _generatorKey;
262 
264  const AirportCode_T _origin;
265 
267  const AirportCode_T _destination;
268 
270  const CityCode_T _pos;
271 
273  const Date_T _preferredDepartureDate;
274 
276  const Duration_T _preferredDepartureTime;
277 
279  const DateTime_T _requestDateTime;
280 
282  const CabinCode_T _preferredCabin;
283 
285  const NbOfSeats_T _partySize;
286 
288  const ChannelLabel_T _channel;
289 
292  const TripType_T _tripType;
293 
295  const DayDuration_T _stayDuration;
296 
298  const FrequentFlyer_T _frequentFlyerType;
299 
301  const WTP_T _wtp;
302 
304  const PriceValue_T _valueOfTime;
305 
307  const ChangeFees_T _changeFees;
308 
310  const Disutility_T _changeFeeDisutility;
311 
313  const NonRefundable_T _nonRefundable;
314 
316  const Disutility_T _nonRefundableDisutility;
317  };
318 
319 }
320 #endif // __STDAIR_BOM_BOOKINGREQUESTSTRUCT_HPP
const AirportCode_T & getDestination() const
const Duration_T & getPreferredDepartureTime() const
LocationCode_T AirportCode_T
std::string CabinCode_T
boost::posix_time::ptime DateTime_T
const DayDuration_T & getStayDuration() const
std::string TripType_T
void toStream(std::ostream &ioOut) const
double Disutility_T
Handle on the StdAir library context.
boost::posix_time::time_duration Duration_T
const NbOfSeats_T & getPartySize() const
const ChannelLabel_T & getBookingChannel() const
void fromStream(std::istream &ioIn)
LocationCode_T CityCode_T
const TripType_T & getTripType() const
const Date_T & getPreferedDepartureDate() const
Base class for the light structures.
double PriceValue_T
const AirportCode_T & getOrigin() const
double NbOfSeats_T
const NonRefundable_T & getNonRefundable() const
const std::string describe() const
std::string DemandGeneratorKey_T
const DemandGeneratorKey_T & getDemandGeneratorKey() const
std::string FrequentFlyer_T
const CityCode_T & getPOS() const
boost::gregorian::date Date_T
const CabinCode_T & getPreferredCabin() const
const std::string display() const
Structure holding the elements of a booking request.
const Disutility_T & getNonRefundableDisutility() const
const DateTime_T & getRequestDateTime() const
const Disutility_T & getChangeFeeDisutility() const
std::string ChannelLabel_T
const PriceValue_T & getValueOfTime() const
const FrequentFlyer_T & getFrequentFlyerType() const
const ChangeFees_T & getChangeFees() const