AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SegmentCabinHelper.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_BOM_SEGMENTCABINHELPER_HPP
2 #define __AIRINV_BOM_SEGMENTCABINHELPER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/stdair_basic_types.hpp>
9 #include <stdair/bom/FareFamilyTypes.hpp>
10 
11 // Forward declarations
12 namespace stdair {
13  class FlightDate;
14  class SegmentCabin;
15  class FareFamily;
16  class Policy;
17 }
18 
19 namespace AIRINV {
20 
26  public:
27  // ////////// Business Methods /////////
31  static void updateFromReservation (const stdair::FlightDate&,
32  stdair::SegmentCabin&,
33  const stdair::PartySize_T&);
34 
38  static void buildPseudoBidPriceVector (stdair::SegmentCabin&);
39 
43  static void updateBookingControlsUsingPseudoBidPriceVector (const stdair::SegmentCabin&);
44 
47  static void updateAUs (const stdair::SegmentCabin&);
48 
51  static void updateAvailabilities (const stdair::SegmentCabin&);
52 
56  static void initialiseAU (stdair::SegmentCabin&);
57 
61  static void initYieldBasedNestingStructure (stdair::SegmentCabin&);
62 
66  static void initListOfUsablePolicies (stdair::SegmentCabin&);
67 
68  private:
72  static void createPolicies (stdair::SegmentCabin&,
73  const stdair::FareFamilyList_T&,
74  const stdair::FareFamilyList_T::const_iterator&,
75  stdair::Policy&, unsigned int&,
76  const stdair::Yield_T&);
77  };
78 
79 }
80 #endif // __AIRINV_BOM_SEGMENTCABINHELPER_HPP