$treeview $search $mathjax
00001 #ifndef __AIRINV_BOM_SEGMENTCABINHELPER_HPP 00002 #define __AIRINV_BOM_SEGMENTCABINHELPER_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // StdAir 00008 #include <stdair/stdair_basic_types.hpp> 00009 #include <stdair/bom/FareFamilyTypes.hpp> 00010 00011 // Forward declarations 00012 namespace stdair { 00013 class FlightDate; 00014 class SegmentCabin; 00015 class FareFamily; 00016 class Policy; 00017 } 00018 00019 namespace AIRINV { 00020 00025 class SegmentCabinHelper { 00026 public: 00027 // ////////// Business Methods ///////// 00031 static void updateFromReservation (const stdair::FlightDate&, 00032 stdair::SegmentCabin&, 00033 const stdair::PartySize_T&); 00034 00038 static void buildPseudoBidPriceVector (stdair::SegmentCabin&); 00039 00043 static void updateBookingControlsUsingPseudoBidPriceVector (const stdair::SegmentCabin&); 00044 00047 static void updateAUs (const stdair::SegmentCabin&); 00048 00051 static void updateAvailabilities (const stdair::SegmentCabin&); 00052 00056 static void initialiseAU (stdair::SegmentCabin&); 00057 00061 static void initYieldBasedNestingStructure (stdair::SegmentCabin&); 00062 00066 static void initListOfUsablePolicies (stdair::SegmentCabin&); 00067 00068 private: 00072 static void createPolicies (stdair::SegmentCabin&, 00073 const stdair::FareFamilyList_T&, 00074 const stdair::FareFamilyList_T::const_iterator&, 00075 stdair::Policy&, unsigned int&, 00076 const stdair::Yield_T&); 00077 }; 00078 00079 } 00080 #endif // __AIRINV_BOM_SEGMENTCABINHELPER_HPP