$treeview $search $mathjax
SimFQT Logo  1.00.0
$projectbrief
$projectbrief
$searchbox

FareQuoter.hpp

Go to the documentation of this file.
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