1 #ifndef __AIRINV_SVC_AIRINV_SERVICE_HPP
2 #define __AIRINV_SVC_AIRINV_SERVICE_HPP
10 #include <stdair/stdair_basic_types.hpp>
11 #include <stdair/stdair_service_types.hpp>
12 #include <stdair/basic/JSonCommand.hpp>
13 #include <stdair/bom/RMEventTypes.hpp>
14 #include <stdair/bom/BomIDTypes.hpp>
16 #include <airrac/AIRRAC_Types.hpp>
18 #include <sevmgr/SEVMGR_Types.hpp>
22 class AirlineFeatureSet;
26 struct TravelSolutionStruct;
34 class AIRINV_ServiceContext;
58 AIRINV_Service (
const stdair::BasLogParams&,
const stdair::BasDBParams&);
107 SEVMGR::SEVMGR_ServicePtr_T);
132 const stdair::ODFilePath&,
133 const stdair::FRAT5FilePath&,
134 const stdair::FFDisutilityFilePath&,
135 const AIRRAC::YieldFilePath&);
171 stdair::RMEventList_T
initRMEvents (
const stdair::Date_T& iStartDate,
172 const stdair::Date_T& iEndDate);
187 bool sell (
const std::string& iSegmentDateKey,
const stdair::ClassCode_T&,
188 const stdair::PartySize_T&);
197 bool sell (
const stdair::BookingClassID_T&,
const stdair::PartySize_T&);
208 bool cancel (
const std::string& iSegmentDateKey,
const stdair::ClassCode_T&,
209 const stdair::PartySize_T&);
218 bool cancel (
const stdair::BookingClassID_T&,
const stdair::PartySize_T&);
224 const stdair::DateTime_T&);
229 void optimise (
const stdair::AirlineCode_T&,
230 const stdair::KeyDescription_T&,
231 const stdair::DateTime_T&);
245 std::string
jsonHandler (
const stdair::JSONString&)
const;
260 const stdair::FlightNumber_T& iFlightNumber = 0)
const;
272 const stdair::FlightNumber_T&,
273 const stdair::Date_T& iDepartureDate)
const;
290 std::string
list (
const stdair::AirlineCode_T& iAirlineCode =
"all",
291 const stdair::FlightNumber_T& iFlightNumber = 0)
const;
302 bool check (
const stdair::AirlineCode_T&,
const stdair::FlightNumber_T&,
303 const stdair::Date_T& iDepartureDate)
const;
325 std::string
csvDisplay (
const stdair::AirlineCode_T&,
326 const stdair::FlightNumber_T&,
327 const stdair::Date_T& iDepartureDate)
const;
351 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&,
352 const stdair::BasDBParams&);
362 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&);
367 void initRMOLService();
372 void initAIRRACService();
377 void initSEVMGRService();
387 void addStdAirService (stdair::STDAIR_ServicePtr_T,
388 const bool iOwnStdairService);
395 void addSEVMGRService (SEVMGR::SEVMGR_ServicePtr_T,
396 const bool iOwnSEVMGRService);
402 void initServiceContext();
410 void initAirinvService();
426 #endif // __AIRINV_SVC_AIRINV_SERVICE_HPP
stdair::RMEventList_T initRMEvents(const stdair::Date_T &iStartDate, const stdair::Date_T &iEndDate)
bool sell(const std::string &iSegmentDateKey, const stdair::ClassCode_T &, const stdair::PartySize_T &)
bool cancel(const std::string &iSegmentDateKey, const stdair::ClassCode_T &, const stdair::PartySize_T &)
std::string jsonHandler(const stdair::JSONString &) const
std::string csvDisplay() const
void buildComplementaryLinks(stdair::BomRoot &)
Class holding the context of the AirInv services.
void parseAndLoad(const AIRINV::InventoryFilePath &)
std::string list(const stdair::AirlineCode_T &iAirlineCode="all", const stdair::FlightNumber_T &iFlightNumber=0) const
void clonePersistentBom()
bool check(const stdair::AirlineCode_T &, const stdair::FlightNumber_T &, const stdair::Date_T &iDepartureDate) const
Interface for the AIRINV Services.
void optimise(const stdair::AirlineCode_T &, const stdair::KeyDescription_T &, const stdair::DateTime_T &)
std::string jsonExportFlightDateList(const stdair::AirlineCode_T &iAirlineCode="all", const stdair::FlightNumber_T &iFlightNumber=0) const
void calculateAvailability(stdair::TravelSolutionStruct &)
void takeSnapshots(const stdair::AirlineCode_T &, const stdair::DateTime_T &)
std::string jsonExportFlightDateObjects(const stdair::AirlineCode_T &, const stdair::FlightNumber_T &, const stdair::Date_T &iDepartureDate) const