1 #ifndef __AIRINV_CMD_INVENTORYMANAGER_HPP
2 #define __AIRINV_CMD_INVENTORYMANAGER_HPP
10 #include <stdair/stdair_basic_types.hpp>
11 #include <stdair/bom/RMEventTypes.hpp>
12 #include <stdair/basic/PartnershipTechnique.hpp>
22 struct TravelSolutionStruct;
28 typedef std::map<
const stdair::Date_T,
30 typedef std::map<
const std::string,
40 static void initSnapshotEvents (
const stdair::Date_T&,
41 const stdair::Date_T&,
45 static void initRMEvents (
const stdair::Inventory&, stdair::RMEventList_T&,
46 const stdair::Date_T&,
const stdair::Date_T&);
49 static void addRMEventsToEventQueue (stdair::EventQueue&,
50 stdair::RMEventList_T&);
53 static void calculateAvailability (
const stdair::BomRoot&,
54 stdair::TravelSolutionStruct&,
55 const stdair::PartnershipTechnique&);
58 static void calculateAvailabilityByAU (stdair::TravelSolutionStruct&);
61 static void calculateAvailabilityByRAE (stdair::TravelSolutionStruct&);
67 static void calculateAvailabilityByIBP (stdair::TravelSolutionStruct&);
75 static void calculateAvailabilityByProtectiveIBP (stdair::TravelSolutionStruct&);
78 static bool sell (stdair::Inventory&,
const std::string& iSegmentDateKey,
79 const stdair::ClassCode_T&,
const stdair::PartySize_T&);
82 static bool cancel (stdair::Inventory&,
const std::string& iSegmentDateKey,
83 const stdair::ClassCode_T&,
const stdair::PartySize_T&);
86 static void takeSnapshots (
const stdair::Inventory&,
87 const stdair::DateTime_T&);
90 static void updateBookingControls (stdair::FlightDate&);
106 const stdair::GuillotineNumber_T&,
119 ~InventoryManager() {}
123 #endif // __AIRINV_CMD_INVENTORYMANAGER_HPP