SimFQT Logo  1.00.0
C++ Simulated Fare Quote System Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
FareQuoter.hpp
Go to the documentation of this file.
1 #ifndef __SIMFQT_CMD_FAREQUOTER_HPP
2 #define __SIMFQT_CMD_FAREQUOTER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/stdair_basic_types.hpp>
9 #include <stdair/bom/TravelSolutionTypes.hpp>
10 
12 namespace stdair {
13  class BomRoot;
14  struct BookingRequestStruct;
15  struct TravelSolutionStruct;
16  struct ParsedKey;
17  class AirportPair;
18  class PosChannel;
19  class DatePeriod;
20  class TimePeriod;
21  class FareFeatures;
22 }
23 
24 namespace SIMFQT {
25 
29  class FareQuoter {
32  friend class SIMFQT_Service;
33 
34  private:
35  // /////////////////// Business support methods //////////////
45  static void priceQuote (const stdair::BookingRequestStruct&,
46  stdair::TravelSolutionList_T&,
47  const stdair::BomRoot&);
48 
60  static void priceQuote (const stdair::BookingRequestStruct&,
61  stdair::TravelSolutionStruct&,
62  const stdair::BomRoot&);
63 
74  static void priceQuote (const stdair::BookingRequestStruct&,
75  stdair::TravelSolutionStruct&,
76  const stdair::AirportPair&);
77 
92  static void priceQuote (const stdair::BookingRequestStruct&,
93  stdair::TravelSolutionStruct&,
94  const stdair::DatePeriod&,
95  const stdair::AirportPair&);
96 
108  static void priceQuote (const stdair::BookingRequestStruct&,
109  stdair::TravelSolutionStruct&,
110  const stdair::PosChannel&);
111 
126  static void priceQuote (const stdair::BookingRequestStruct&,
127  stdair::TravelSolutionStruct&,
128  const stdair::TimePeriod&,
129  const stdair::PosChannel&);
130 
148  static void priceQuote (const stdair::BookingRequestStruct&,
149  stdair::TravelSolutionStruct&,
150  const stdair::FareFeatures&,
151  const stdair::PosChannel&,
152  stdair::FareOptionStruct&);
153 
157  static void reset ();
158 
168  static void displayMissingFareRuleMessage (const stdair::BookingRequestStruct&,
169  stdair::TravelSolutionStruct&);
170 
178  static stdair::ParsedKey getFirstSPParsedKey (stdair::TravelSolutionStruct&);
179 
187  static stdair::ParsedKey getLastSPParsedKey (stdair::TravelSolutionStruct&);
188 
189 
190 
191  private:
192  // //////////////////// Construction and destruction ////////////////
196  FareQuoter();
197 
201  FareQuoter(const FareQuoter&);
202 
206  ~FareQuoter();
207 
208  private:
209 
212  static bool _atLeastOneAvailableDateRule;
213 
216  static bool _atLeastOneAvailablePosChannel;
217 
221  static bool _atLeastOneAvailableTimeRule;
222 
226  static bool _atLeastOneAvailableFeaturesRule;
227 
231  static bool _atLeastOneAvailableAirlineClassRule;
232 
233  };
234 
235 }
236 #endif // __SIMFQT_CMD_FAREQUOTER_HPP
237