1#ifndef __SIMCRS_SVC_SIMCRS_SERVICE_HPP
2#define __SIMCRS_SVC_SIMCRS_SERVICE_HPP
8#include <stdair/stdair_basic_types.hpp>
9#include <stdair/stdair_file.hpp>
10#include <stdair/stdair_service_types.hpp>
11#include <stdair/bom/TravelSolutionTypes.hpp>
13#include <sevmgr/SEVMGR_Types.hpp>
15#include <simfqt/SIMFQT_Types.hpp>
17#include <airrac/AIRRAC_Types.hpp>
26 struct BookingRequestStruct;
27 struct CancellationStruct;
28 struct SnapshotStruct;
36 class SIMCRS_ServiceContext;
61 SIMCRS_Service (
const stdair::BasLogParams&,
const stdair::BasDBParams&,
96 SIMCRS_Service (stdair::STDAIR_ServicePtr_T, SEVMGR::SEVMGR_ServicePtr_T,
114 const stdair::ODFilePath&,
115 const stdair::FRAT5FilePath&,
116 const stdair::FFDisutilityFilePath&,
117 const AIRRAC::YieldFilePath&,
118 const SIMFQT::FareFilePath&);
127 const stdair::Date_T& iEndDate);
141 stdair::TravelSolutionList_T
147 void fareQuote (
const stdair::BookingRequestStruct&,
148 stdair::TravelSolutionList_T&);
158 bool sell (
const stdair::TravelSolutionStruct&,
const stdair::PartySize_T&);
173 void optimise (
const stdair::RMEventStruct&);
183 bool sell (
const std::string& iSegmentDateKey,
const stdair::ClassCode_T&,
184 const stdair::PartySize_T&);
259 stdair::BookingRequestStruct
274 std::string
jsonHandler (
const stdair::JSONString&)
const;
294 std::string
csvDisplay (
const stdair::TravelSolutionList_T&)
const;
309 std::string
list (
const stdair::AirlineCode_T& iAirlineCode =
"all",
310 const stdair::FlightNumber_T& iFlightNumber = 0)
const;
323 std::string
csvDisplay (
const stdair::AirlineCode_T&,
324 const stdair::FlightNumber_T&,
325 const stdair::Date_T& iDepartureDate)
const;
349 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&,
350 const stdair::BasDBParams&);
361 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&);
366 void initAIRTSPService();
371 void initSIMFQTService();
376 void initAIRINVService();
386 void addStdAirService (stdair::STDAIR_ServicePtr_T,
387 const bool iOwnStdairService);
394 void addSEVMGRService (SEVMGR::SEVMGR_ServicePtr_T,
395 const bool iOwnSEVMGRService);
403 void initServiceContext (
const CRSCode_T&);
409 void initSimcrsService();
Class holding the context of the Simcrs services.
void parseAndLoad(const stdair::ScheduleFilePath &, const stdair::ODFilePath &, const stdair::FRAT5FilePath &, const stdair::FFDisutilityFilePath &, const AIRRAC::YieldFilePath &, const SIMFQT::FareFilePath &)
bool sell(const stdair::TravelSolutionStruct &, const stdair::PartySize_T &)
void initSnapshotAndRMEvents(const stdair::Date_T &iStartDate, const stdair::Date_T &iEndDate)
void takeSnapshots(const stdair::SnapshotStruct &)
void buildComplementaryLinks(stdair::BomRoot &)
std::string list(const stdair::AirlineCode_T &iAirlineCode="all", const stdair::FlightNumber_T &iFlightNumber=0) const
std::string csvDisplay() const
void optimise(const stdair::RMEventStruct &)
stdair::TravelSolutionList_T calculateSegmentPathList(const stdair::BookingRequestStruct &)
void buildSampleTravelSolutions(stdair::TravelSolutionList_T &)
std::string jsonHandler(const stdair::JSONString &) const
void clonePersistentBom()
void fareQuote(const stdair::BookingRequestStruct &, stdair::TravelSolutionList_T &)
bool playCancellation(const stdair::CancellationStruct &)
void calculateAvailability(stdair::TravelSolutionList_T &)
stdair::BookingRequestStruct buildSampleBookingRequest(const bool isForCRS=false)