1#ifndef __TRAVELCCM_BOM_CUSTOMERCHOICEMODEL_HPP
2#define __TRAVELCCM_BOM_CUSTOMERCHOICEMODEL_HPP
8#include <stdair/stdair_service_types.hpp>
9#include <stdair/bom/TravelSolutionTypes.hpp>
10#include <stdair/basic/PassengerChoiceModel.hpp>
14 struct BookingRequestStruct;
26 typedef std::map<stdair::PassengerChoiceModel::EN_PassengerChoiceModel,
34 static CustomerChoiceModelMap_T& getMap () {
35 static CustomerChoiceModelMap_T _choiceModelMap;
36 return _choiceModelMap;
43 virtual const stdair::TravelSolutionStruct*
45 const stdair::BookingRequestStruct&)
const = 0;
52 create (
const stdair::PassengerChoiceModel::EN_PassengerChoiceModel&);
70 (
const stdair::PassengerChoiceModel::EN_PassengerChoiceModel&);
virtual const stdair::TravelSolutionStruct * chooseTravelSolution(stdair::TravelSolutionList_T &, const stdair::BookingRequestStruct &) const =0
static const CustomerChoiceModel * create(const stdair::PassengerChoiceModel::EN_PassengerChoiceModel &)
virtual ~CustomerChoiceModel()