StdAir Logo  1.00.8
C++ Standard Airline IT Object Library
BookingClass.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_BOOKINGCLASS_HPP
2 #define __STDAIR_BOM_BOOKINGCLASS_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
17 
18 namespace stdair {
19 
24  class BookingClass : public BomAbstract {
25  template <typename BOM> friend class FacBom;
26  template <typename BOM> friend class FacCloneBom;
27  friend class FacBomManager;
28 
29  public:
30  // ////////// Type definitions ////////////
33 
34  public:
35  // /////////// Getters ////////////
37  const Key_T& getKey() const {
38  return _key;
39  }
40 
42  const ClassCode_T& getClassCode() const {
43  return _key.getClassCode();
44  }
45 
47  BomAbstract* const getParent() const {
48  return _parent;
49  }
50 
52  const HolderMap_T& getHolderMap() const {
53  return _holderMap;
54  }
55 
58  return _subclassCode;
59  }
60 
63  return _au;
64  }
65 
68  return _protection;
69  }
70 
73  return _cumulatedProtection;
74  }
75 
79  }
80 
83  return _nego;
84  }
85 
88  return _noShowPercentage;
89  }
90 
94  }
95 
98  return _nbOfBookings;
99  }
100 
103  return _groupNbOfBookings;
104  }
105 
109  }
110 
113  return _staffNbOfBookings;
114  }
115 
118  return _wlNbOfBookings;
119  }
120 
123  return _nbOfCancellations;
124  }
125 
127  const NbOfBookings_T& getETB() const {
128  return _etb;
129  }
130 
133  return _netClassAvailability;
134  }
135 
138  return _segmentAvailability;
139  }
140 
144  }
145 
147  const Yield_T& getYield () const { return _yield; }
148  const Yield_T& getAdjustedYield () const { return _adjustedYield; }
149 
151  const MeanValue_T& getMean () const { return _mean; }
152  const StdDevValue_T& getStdDev () const {return _stdDev; }
153  const MeanValue_T& getPriceDemMean () const { return _priceDemMean; }
154  const StdDevValue_T& getPriceDemStdDev () const { return _priceDemStdDev; }
156  return _cumuPriceDemMean;
157  }
159  return _cumuPriceDemStdDev;
160  }
161  const MeanValue_T& getProductDemMean () const { return _productDemMean; }
163 
166  return _generatedDemandVector;
167  }
168 
169  public:
170  // /////////// Setters ////////////
173  _cumulatedProtection = iPL;
174  }
175 
177  void setProtection (const ProtectionLevel_T& iPL) {
178  _protection = iPL;
179  }
180 
184  }
185 
188  _au = iAU;
189  }
190 
193  _segmentAvailability = iAvl;
194  }
195 
197  void setYield (const Yield_T& iYield) {
198  _yield = iYield;
199  _adjustedYield = iYield;
200  }
201  void setAdjustedYield (const Yield_T& iYield) { _adjustedYield = iYield; }
202 
204  void setMean (const MeanValue_T& iMean) { _mean = iMean; }
205  void setStdDev (const StdDevValue_T& iStdDev) { _stdDev = iStdDev; }
206  void setPriceDemMean (const MeanValue_T& iMean) { _priceDemMean = iMean; }
207  void setPriceDemStdDev (const StdDevValue_T& iStdDev) {
208  _priceDemStdDev = iStdDev;
209  }
210  void setCumuPriceDemMean (const MeanValue_T& iMean) {
211  _cumuPriceDemMean = iMean; }
212  void setCumuPriceDemStdDev (const StdDevValue_T& iStdDev) {
213  _cumuPriceDemStdDev = iStdDev;
214  }
215  void setProductDemMean (const MeanValue_T& iMean) {
216  _productDemMean = iMean;
217  }
218  void setProductDemStdDev (const StdDevValue_T& iStdDev) {
219  _productDemStdDev = iStdDev;
220  }
221 
222  public:
223  // /////////// Display support methods /////////
226  void toStream (std::ostream& ioOut) const {
227  ioOut << toString();
228  }
229 
232  void fromStream (std::istream& ioIn) {
233  }
234 
236  std::string toString() const;
237 
239  const std::string describeKey() const {
240  return _key.toString();
241  }
242 
243  public:
244  // ////////////// Business Methods /////////////////
246  void sell (const NbOfBookings_T&);
247 
249  void cancel (const NbOfBookings_T&);
250 
253  void generateDemandSamples (const NbOfSamples_T&);
254 
257  void generateDemandSamples (const NbOfSamples_T&, const RandomSeed_T&);
258 
259  protected:
260  // ////////// Constructors and destructors /////////
262  BookingClass (const Key_T&);
264  virtual ~BookingClass();
265 
266  private:
268  BookingClass();
270  BookingClass (const BookingClass&);
271 
272 
273  protected:
274  // ////////// Attributes /////////
277 
280 
283 
286 
289 
292 
295 
298 
301 
304 
307 
310 
313 
316 
319 
322 
325 
328 
331 
334 
337 
341 
345 
349 
353 
357 
360  };
361 
362 }
363 #endif // __STDAIR_BOM_BOOKINGCLASS_HPP
stdair::BookingClass::_adjustedYield
Yield_T _adjustedYield
Definition: BookingClass.hpp:340
stdair::BookingClass::_netRevenueAvailability
Availability_T _netRevenueAvailability
Definition: BookingClass.hpp:336
stdair::BookingClass::setSegmentAvailability
void setSegmentAvailability(const Availability_T &iAvl)
Definition: BookingClass.hpp:192
stdair::BookingClass::_au
AuthorizationLevel_T _au
Definition: BookingClass.hpp:297
stdair::MeanValue_T
double MeanValue_T
Definition: stdair_maths_types.hpp:79
stdair::BookingClass::_stdDev
StdDevValue_T _stdDev
Definition: BookingClass.hpp:344
stdair::BookingClass::getNbOfCancellations
const NbOfCancellations_T & getNbOfCancellations() const
Definition: BookingClass.hpp:122
stdair::BookingClass::_groupNbOfBookings
NbOfBookings_T _groupNbOfBookings
Definition: BookingClass.hpp:312
stdair::BookingClass::getCumulatedBookingLimit
const BookingLimit_T & getCumulatedBookingLimit() const
Definition: BookingClass.hpp:77
stdair::BookingClass::_segmentAvailability
Availability_T _segmentAvailability
Definition: BookingClass.hpp:333
stdair::BookingClass::getCancellationPercentage
const OverbookingRate_T & getCancellationPercentage() const
Definition: BookingClass.hpp:92
stdair::BookingClass::getAuthorizationLevel
const AuthorizationLevel_T & getAuthorizationLevel() const
Definition: BookingClass.hpp:62
stdair::BookingClass::_cumuPriceDemStdDev
StdDevValue_T _cumuPriceDemStdDev
Definition: BookingClass.hpp:352
stdair::BookingClass::getPriceDemMean
const MeanValue_T & getPriceDemMean() const
Definition: BookingClass.hpp:153
stdair::BookingClass
Definition: BookingClass.hpp:24
stdair::BookingClass::toString
std::string toString() const
Definition: BookingClass.cpp:65
stdair::BookingClass::fromStream
void fromStream(std::istream &ioIn)
Definition: BookingClass.hpp:232
stdair::BookingClass::setCumulatedProtection
void setCumulatedProtection(const ProtectionLevel_T &iPL)
Definition: BookingClass.hpp:172
stdair::BookingLimit_T
double BookingLimit_T
Definition: stdair_inventory_types.hpp:63
stdair::BookingClass::cancel
void cancel(const NbOfBookings_T &)
Definition: BookingClass.cpp:77
stdair::BookingClass::_priceDemStdDev
StdDevValue_T _priceDemStdDev
Definition: BookingClass.hpp:348
stdair_rm_types.hpp
stdair::BookingClass::getClassCode
const ClassCode_T & getClassCode() const
Definition: BookingClass.hpp:42
stdair::BookingClass::toStream
void toStream(std::ostream &ioOut) const
Definition: BookingClass.hpp:226
stdair::BookingClass::Key_T
BookingClassKey Key_T
Definition: BookingClass.hpp:32
stdair::BookingClass::getProtection
const ProtectionLevel_T & getProtection() const
Definition: BookingClass.hpp:67
stdair_inventory_types.hpp
stdair::FacCloneBom
Base class for Factory layer.
Definition: FacCloneBom.hpp:22
stdair::BookingClass::_noShowPercentage
OverbookingRate_T _noShowPercentage
Definition: BookingClass.hpp:303
stdair::BookingClass::_wlNbOfBookings
NbOfBookings_T _wlNbOfBookings
Definition: BookingClass.hpp:321
stdair::BookingClass::getCumulatedProtection
const ProtectionLevel_T & getCumulatedProtection() const
Definition: BookingClass.hpp:72
stdair::BookingClass::getPriceDemStdDev
const StdDevValue_T & getPriceDemStdDev() const
Definition: BookingClass.hpp:154
stdair::BookingClass::_cumulatedBookingLimit
BookingLimit_T _cumulatedBookingLimit
Definition: BookingClass.hpp:294
stdair::BookingClass::setCumulatedBookingLimit
void setCumulatedBookingLimit(const BookingLimit_T &iBL)
Definition: BookingClass.hpp:182
stdair::BookingClass::getETB
const NbOfBookings_T & getETB() const
Definition: BookingClass.hpp:127
stdair::AuthorizationLevel_T
double AuthorizationLevel_T
Definition: stdair_inventory_types.hpp:66
stdair::BookingClass::setMean
void setMean(const MeanValue_T &iMean)
Definition: BookingClass.hpp:204
stdair::SubclassCode_T
unsigned short SubclassCode_T
Definition: stdair_inventory_types.hpp:37
stdair::BookingClass::setCumuPriceDemStdDev
void setCumuPriceDemStdDev(const StdDevValue_T &iStdDev)
Definition: BookingClass.hpp:212
stdair::ClassCode_T
std::string ClassCode_T
Definition: stdair_basic_types.hpp:57
stdair::BookingClass::_cumuPriceDemMean
MeanValue_T _cumuPriceDemMean
Definition: BookingClass.hpp:351
stdair::BookingClass::setPriceDemMean
void setPriceDemMean(const MeanValue_T &iMean)
Definition: BookingClass.hpp:206
stdair::NbOfSamples_T
unsigned int NbOfSamples_T
Definition: stdair_rm_types.hpp:77
stdair::NbOfCancellations_T
NbOfRequests_T NbOfCancellations_T
Definition: stdair_basic_types.hpp:107
stdair::FacBomManager
Utility class for linking StdAir-based objects.
Definition: FacBomManager.hpp:30
stdair::BookingClass::setAdjustedYield
void setAdjustedYield(const Yield_T &iYield)
Definition: BookingClass.hpp:201
stdair::BookingClass::_cancellationPercentage
OverbookingRate_T _cancellationPercentage
Definition: BookingClass.hpp:306
stdair::BookingClass::_productDemMean
MeanValue_T _productDemMean
Definition: BookingClass.hpp:355
stdair::BomAbstract
Base class for the Business Object Model (BOM) layer.
Definition: BomAbstract.hpp:24
stdair::BookingClass::setProtection
void setProtection(const ProtectionLevel_T &iPL)
Definition: BookingClass.hpp:177
stdair::BookingClass::setStdDev
void setStdDev(const StdDevValue_T &iStdDev)
Definition: BookingClass.hpp:205
stdair::BookingClassKey::getClassCode
const ClassCode_T & getClassCode() const
Definition: BookingClassKey.hpp:34
stdair
Handle on the StdAir library context.
Definition: BasChronometer.cpp:9
stdair::HolderMap_T
std::map< const std::type_info *, BomAbstract * > HolderMap_T
Definition: BomAbstract.hpp:63
stdair::BookingClass::getCumuPriceDemMean
const MeanValue_T & getCumuPriceDemMean() const
Definition: BookingClass.hpp:155
stdair::BookingClass::_nbOfBookings
NbOfBookings_T _nbOfBookings
Definition: BookingClass.hpp:309
stdair::BookingClass::_yield
Yield_T _yield
Definition: BookingClass.hpp:339
stdair::BookingClass::getSegmentAvailability
const Availability_T & getSegmentAvailability() const
Definition: BookingClass.hpp:137
stdair::Yield_T
double Yield_T
Definition: stdair_inventory_types.hpp:113
stdair::BookingClass::_etb
NbOfBookings_T _etb
Definition: BookingClass.hpp:327
stdair::BookingClass::setProductDemStdDev
void setProductDemStdDev(const StdDevValue_T &iStdDev)
Definition: BookingClass.hpp:218
stdair::BookingClass::getNegotiatedSpace
const NbOfSeats_T & getNegotiatedSpace() const
Definition: BookingClass.hpp:82
stdair::OverbookingRate_T
double OverbookingRate_T
Definition: stdair_inventory_types.hpp:137
stdair::BookingClass::_netClassAvailability
Availability_T _netClassAvailability
Definition: BookingClass.hpp:330
BookingClassTypes.hpp
BomAbstract.hpp
stdair_maths_types.hpp
stdair::RandomSeed_T
unsigned long int RandomSeed_T
Definition: stdair_maths_types.hpp:39
stdair::BookingClass::getStdDev
const StdDevValue_T & getStdDev() const
Definition: BookingClass.hpp:152
stdair::BookingClassKey::toString
const std::string toString() const
Definition: BookingClassKey.cpp:42
stdair::BookingClass::getNoShowPercentage
const OverbookingRate_T & getNoShowPercentage() const
Definition: BookingClass.hpp:87
stdair::BookingClass::setProductDemMean
void setProductDemMean(const MeanValue_T &iMean)
Definition: BookingClass.hpp:215
stdair::StdDevValue_T
double StdDevValue_T
Definition: stdair_maths_types.hpp:84
stdair::BookingClass::_subclassCode
SubclassCode_T _subclassCode
Definition: BookingClass.hpp:285
stdair::BookingClass::getNetRevenueAvailability
const Availability_T & getNetRevenueAvailability() const
Definition: BookingClass.hpp:142
stdair::BookingClass::_generatedDemandVector
GeneratedDemandVector_T _generatedDemandVector
Definition: BookingClass.hpp:359
stdair::BookingClass::getNbOfWLBookings
const NbOfBookings_T & getNbOfWLBookings() const
Definition: BookingClass.hpp:117
stdair::BookingClass::sell
void sell(const NbOfBookings_T &)
Definition: BookingClass.cpp:72
stdair::BookingClass::describeKey
const std::string describeKey() const
Definition: BookingClass.hpp:239
stdair::BookingClass::_protection
ProtectionLevel_T _protection
Definition: BookingClass.hpp:291
stdair::BookingClass::setYield
void setYield(const Yield_T &iYield)
Definition: BookingClass.hpp:197
stdair::BookingClass::getAdjustedYield
const Yield_T & getAdjustedYield() const
Definition: BookingClass.hpp:148
stdair::BookingClass::getSubclassCode
const SubclassCode_T & getSubclassCode() const
Definition: BookingClass.hpp:57
stdair::BookingClass::_priceDemMean
MeanValue_T _priceDemMean
Definition: BookingClass.hpp:347
stdair::BookingClass::getCumuPriceDemStdDev
const StdDevValue_T & getCumuPriceDemStdDev() const
Definition: BookingClass.hpp:158
stdair::BookingClass::_key
Key_T _key
Definition: BookingClass.hpp:276
stdair::ProtectionLevel_T
double ProtectionLevel_T
Definition: stdair_inventory_types.hpp:145
stdair::BookingClass::~BookingClass
virtual ~BookingClass()
Definition: BookingClass.cpp:61
stdair::BookingClass::getHolderMap
const HolderMap_T & getHolderMap() const
Definition: BookingClass.hpp:52
stdair::Availability_T
double Availability_T
Definition: stdair_basic_types.hpp:123
stdair::BookingClass::generateDemandSamples
void generateDemandSamples(const NbOfSamples_T &)
Definition: BookingClass.cpp:83
stdair::GeneratedDemandVector_T
std::vector< double > GeneratedDemandVector_T
Definition: stdair_rm_types.hpp:34
stdair::BookingClass::getNetClassAvailability
const Availability_T & getNetClassAvailability() const
Definition: BookingClass.hpp:132
stdair::BookingClass::getNbOfStaffBookings
const NbOfBookings_T & getNbOfStaffBookings() const
Definition: BookingClass.hpp:112
stdair::BookingClass::_nbOfCancellations
NbOfCancellations_T _nbOfCancellations
Definition: BookingClass.hpp:324
stdair::BookingClass::_cumulatedProtection
ProtectionLevel_T _cumulatedProtection
Definition: BookingClass.hpp:288
stdair::BookingClass::getYield
const Yield_T & getYield() const
Definition: BookingClass.hpp:147
stdair::BookingClass::getMean
const MeanValue_T & getMean() const
Definition: BookingClass.hpp:151
stdair::BookingClass::_productDemStdDev
StdDevValue_T _productDemStdDev
Definition: BookingClass.hpp:356
stdair::BookingClassKey
Definition: BookingClassKey.hpp:16
stdair::BookingClass::getNbOfPendingGroupBookings
const NbOfBookings_T & getNbOfPendingGroupBookings() const
Definition: BookingClass.hpp:107
stdair::BookingClass::getGeneratedDemandVector
const GeneratedDemandVector_T & getGeneratedDemandVector() const
Definition: BookingClass.hpp:165
stdair::BookingClass::getKey
const Key_T & getKey() const
Definition: BookingClass.hpp:37
stdair::BookingClass::_staffNbOfBookings
NbOfBookings_T _staffNbOfBookings
Definition: BookingClass.hpp:318
stdair::NbOfSeats_T
double NbOfSeats_T
Definition: stdair_basic_types.hpp:92
stdair::BookingClass::_mean
MeanValue_T _mean
Definition: BookingClass.hpp:343
stdair::BookingClass::getNbOfBookings
const NbOfBookings_T & getNbOfBookings() const
Definition: BookingClass.hpp:97
stdair::BookingClass::_parent
BomAbstract * _parent
Definition: BookingClass.hpp:279
stdair::BookingClass::getNbOfGroupBookings
const NbOfBookings_T & getNbOfGroupBookings() const
Definition: BookingClass.hpp:102
BookingClassKey.hpp
stdair::BookingClass::setCumuPriceDemMean
void setCumuPriceDemMean(const MeanValue_T &iMean)
Definition: BookingClass.hpp:210
stdair::BookingClass::getProductDemMean
const MeanValue_T & getProductDemMean() const
Definition: BookingClass.hpp:161
stdair::NbOfBookings_T
NbOfRequests_T NbOfBookings_T
Definition: stdair_basic_types.hpp:104
stdair::BookingClass::_nego
NbOfSeats_T _nego
Definition: BookingClass.hpp:300
stdair::BookingClass::_groupPendingNbOfBookings
NbOfBookings_T _groupPendingNbOfBookings
Definition: BookingClass.hpp:315
stdair::BookingClass::getProductDemStdDev
const StdDevValue_T & getProductDemStdDev() const
Definition: BookingClass.hpp:162
stdair::BookingClass::setPriceDemStdDev
void setPriceDemStdDev(const StdDevValue_T &iStdDev)
Definition: BookingClass.hpp:207
stdair::BookingClass::_holderMap
HolderMap_T _holderMap
Definition: BookingClass.hpp:282
stdair::FacBom
Base class for Factory layer.
Definition: FacBom.hpp:22
stdair::BookingClass::getParent
BomAbstract *const getParent() const
Definition: BookingClass.hpp:47
stdair::BookingClass::setAuthorizationLevel
void setAuthorizationLevel(const AuthorizationLevel_T &iAU)
Definition: BookingClass.hpp:187