StdAir Logo  1.00.19
C++ Standard Airline IT Object Library
Loading...
Searching...
No Matches
BookingClass.cpp
Go to the documentation of this file.
1// //////////////////////////////////////////////////////////////////////
2// Import section
3// //////////////////////////////////////////////////////////////////////
4// STL
5#include <cassert>
6#include <sstream>
7// StdAir
12
13namespace stdair {
14
15 // ////////////////////////////////////////////////////////////////////
16 BookingClass::BookingClass() : _key (DEFAULT_CLASS_CODE), _parent (NULL) {
17 assert (false);
18 }
19
20 // ////////////////////////////////////////////////////////////////////
21 BookingClass::BookingClass (const BookingClass& iBookingClass)
22 : _key (iBookingClass._key),
23 _parent (NULL),
24 _subclassCode (iBookingClass._subclassCode),
25 _cumulatedProtection (iBookingClass._cumulatedProtection),
26 _protection (iBookingClass._protection),
27 _cumulatedBookingLimit (iBookingClass._cumulatedBookingLimit),
28 _au (iBookingClass._au),
29 _nego (iBookingClass._nego),
30 _noShowPercentage (iBookingClass._noShowPercentage),
31 _cancellationPercentage (iBookingClass._cancellationPercentage),
32 _nbOfBookings (iBookingClass._nbOfBookings),
33 _groupNbOfBookings (iBookingClass._groupNbOfBookings),
34 _groupPendingNbOfBookings (iBookingClass._groupPendingNbOfBookings),
35 _staffNbOfBookings (iBookingClass._staffNbOfBookings),
36 _wlNbOfBookings (iBookingClass._wlNbOfBookings),
37 _nbOfCancellations (iBookingClass._nbOfCancellations),
38 _etb (iBookingClass._etb),
39 _netClassAvailability (iBookingClass._netClassAvailability),
40 _segmentAvailability (iBookingClass._segmentAvailability),
41 _netRevenueAvailability (iBookingClass._netRevenueAvailability),
42 _yield (iBookingClass._yield),
43 _adjustedYield (iBookingClass._adjustedYield),
44 _mean (iBookingClass._mean),
45 _stdDev (iBookingClass._stdDev) {
46 }
47
48 // ////////////////////////////////////////////////////////////////////
59
60 // ////////////////////////////////////////////////////////////////////
63
64 // ////////////////////////////////////////////////////////////////////
65 std::string BookingClass::toString() const {
66 std::ostringstream oStr;
67 oStr << describeKey();
68 return oStr.str();
69 }
70
71 // ////////////////////////////////////////////////////////////////////
72 void BookingClass::sell (const NbOfBookings_T& iNbOfBookings) {
73 _nbOfBookings += iNbOfBookings;
74 }
75
76 // ////////////////////////////////////////////////////////////////////
77 void BookingClass::cancel (const NbOfBookings_T& iNbOfCancellations) {
78 _nbOfBookings -= iNbOfCancellations;
79 _nbOfCancellations += iNbOfCancellations;
80 }
81
82 // ////////////////////////////////////////////////////////////////////
86
87 // ////////////////////////////////////////////////////////////////////
89 const RandomSeed_T& iSeed) {
91 if (_stdDev > 0) {
92 RandomGeneration lGenerator (iSeed);
93 for (unsigned int i = 0; i < K; ++i) {
94 const RealNumber_T& lDemandSample = lGenerator.generateNormal (_mean,
95 _stdDev);
96 _generatedDemandVector.push_back (lDemandSample);
97 }
98 }
99 }
100
101}
102
Handle on the StdAir library context.
unsigned long int RandomSeed_T
NbOfRequests_T NbOfBookings_T
unsigned int NbOfSamples_T
const ClassCode_T DEFAULT_CLASS_CODE
const RandomSeed_T DEFAULT_RANDOM_SEED
double RealNumber_T
Class holding a random generator.
RealNumber_T generateNormal(const RealNumber_T &, const RealNumber_T &)
SubclassCode_T _subclassCode
BookingClassKey Key_T
void generateDemandSamples(const NbOfSamples_T &)
NbOfBookings_T _nbOfBookings
ProtectionLevel_T _cumulatedProtection
ProtectionLevel_T _protection
NbOfCancellations_T _nbOfCancellations
OverbookingRate_T _cancellationPercentage
NbOfBookings_T _wlNbOfBookings
Availability_T _netClassAvailability
OverbookingRate_T _noShowPercentage
NbOfBookings_T _groupNbOfBookings
void cancel(const NbOfBookings_T &)
Availability_T _segmentAvailability
GeneratedDemandVector_T _generatedDemandVector
std::string toString() const
BookingLimit_T _cumulatedBookingLimit
NbOfBookings_T _staffNbOfBookings
BookingClass(const Key_T &)
NbOfBookings_T _groupPendingNbOfBookings
Availability_T _netRevenueAvailability
void sell(const NbOfBookings_T &)
AuthorizationLevel_T _au
const std::string describeKey() const