$treeview $search $mathjax
00001 #ifndef __SIMFQT_CMD_FAREQUOTER_HPP 00002 #define __SIMFQT_CMD_FAREQUOTER_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // StdAir 00008 #include <stdair/stdair_basic_types.hpp> 00009 #include <stdair/bom/TravelSolutionTypes.hpp> 00010 00012 namespace stdair { 00013 class BomRoot; 00014 struct BookingRequestStruct; 00015 struct TravelSolutionStruct; 00016 struct ParsedKey; 00017 class AirportPair; 00018 class PosChannel; 00019 class DatePeriod; 00020 class TimePeriod; 00021 class FareFeatures; 00022 } 00023 00024 namespace SIMFQT { 00025 00029 class FareQuoter { 00032 friend class SIMFQT_Service; 00033 00034 private: 00035 // /////////////////// Business support methods ////////////// 00045 static void priceQuote (const stdair::BookingRequestStruct&, 00046 stdair::TravelSolutionList_T&, 00047 const stdair::BomRoot&); 00048 00060 static void priceQuote (const stdair::BookingRequestStruct&, 00061 stdair::TravelSolutionStruct&, 00062 const stdair::BomRoot&); 00063 00074 static void priceQuote (const stdair::BookingRequestStruct&, 00075 stdair::TravelSolutionStruct&, 00076 const stdair::AirportPair&); 00077 00092 static void priceQuote (const stdair::BookingRequestStruct&, 00093 stdair::TravelSolutionStruct&, 00094 const stdair::DatePeriod&, 00095 const stdair::AirportPair&); 00096 00108 static void priceQuote (const stdair::BookingRequestStruct&, 00109 stdair::TravelSolutionStruct&, 00110 const stdair::PosChannel&); 00111 00126 static void priceQuote (const stdair::BookingRequestStruct&, 00127 stdair::TravelSolutionStruct&, 00128 const stdair::TimePeriod&, 00129 const stdair::PosChannel&); 00130 00148 static void priceQuote (const stdair::BookingRequestStruct&, 00149 stdair::TravelSolutionStruct&, 00150 const stdair::FareFeatures&, 00151 const stdair::PosChannel&, 00152 stdair::FareOptionStruct&); 00153 00157 static void reset (); 00158 00168 static void displayMissingFareRuleMessage (const stdair::BookingRequestStruct&, 00169 stdair::TravelSolutionStruct&); 00170 00178 static stdair::ParsedKey getFirstSPParsedKey (stdair::TravelSolutionStruct&); 00179 00187 static stdair::ParsedKey getLastSPParsedKey (stdair::TravelSolutionStruct&); 00188 00189 00190 00191 private: 00192 // //////////////////// Construction and destruction //////////////// 00196 FareQuoter(); 00197 00201 FareQuoter(const FareQuoter&); 00202 00206 ~FareQuoter(); 00207 00208 private: 00209 00212 static bool _atLeastOneAvailableDateRule; 00213 00216 static bool _atLeastOneAvailablePosChannel; 00217 00221 static bool _atLeastOneAvailableTimeRule; 00222 00226 static bool _atLeastOneAvailableFeaturesRule; 00227 00231 static bool _atLeastOneAvailableAirlineClassRule; 00232 00233 }; 00234 00235 } 00236 #endif // __SIMFQT_CMD_FAREQUOTER_HPP 00237