<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta name="robots" content="index,follow"/> <title>C++ Class Building Sample StdAir BOM Trees</title> <link rel="shortcut icon" href="favicon.ico"> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="stdair.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-24867310-1']); _gaq.push(['_setDomainName', 'none']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table width="100%"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname"><a href="http://stdair.sourceforge.net"><img height="45px" alt="StdAir Logo" src="stdair_logo.png"></a>  <span id="projectnumber">1.00.1</span> </div> <div id="projectbrief">C++ Standard Airline IT Object Library</div> </td> <!-- begin SOURCEFORGE_CUSTOM--> <td> <div id="sflogo"><a href="http://stdair.sourceforge.net"><img height="45px" alt="SourceForge Logo" src="sfx_logo.png"></a></div> </td> <!-- end SOURCEFORGE_CUSTOM--> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.8.3.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('a00004.html','');}); </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="headertitle"> <div class="title">C++ Class Building Sample StdAir BOM Trees </div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><div class="fragment"><div class="line"> */</div> <div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"><span class="comment">// Import section</span></div> <div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"><span class="comment">// STL</span></div> <div class="line"><span class="preprocessor">#include <cassert></span></div> <div class="line"><span class="preprocessor">#include <sstream></span></div> <div class="line"><span class="comment">// StdAir</span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00218.html">stdair/basic/BasConst_General.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00216.html">stdair/basic/BasConst_DefaultObject.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00221.html">stdair/basic/BasConst_Request.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00219.html">stdair/basic/BasConst_Inventory.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00309.html">stdair/bom/BomRetriever.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00311.html">stdair/bom/BomRoot.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00374.html">stdair/bom/Inventory.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00278.html">stdair/bom/AirlineFeature.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00362.html">stdair/bom/FlightDate.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00386.html">stdair/bom/LegDate.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00381.html">stdair/bom/LegCabin.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00428.html">stdair/bom/SegmentDate.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00423.html">stdair/bom/SegmentCabin.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00347.html">stdair/bom/FareFamily.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00315.html">stdair/bom/BookingClass.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00285.html">stdair/bom/AirportPair.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00415.html">stdair/bom/PosChannel.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00337.html">stdair/bom/DatePeriod.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00449.html">stdair/bom/TimePeriod.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00352.html">stdair/bom/FareFeatures.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00460.html">stdair/bom/YieldFeatures.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00273.html">stdair/bom/AirlineClassList.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00307.html">stdair/bom/BomManager.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00454.html">stdair/bom/TravelSolutionStruct.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00320.html">stdair/bom/BookingRequestStruct.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00488.html">stdair/factory/FacBomManager.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00486.html">stdair/factory/FacBom.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00472.html">stdair/command/CmdBomManager.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00499.html">stdair/service/Logger.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00398.html">stdair/bom/OnDDate.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00433.html">stdair/bom/SegmentPeriod.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00367.html">stdair/bom/FlightPeriod.hpp</a>></span></div> <div class="line"></div> <div class="line"><span class="keyword">namespace </span>stdair {</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildSampleBom (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// DEBUG</span></div> <div class="line"> <a class="code" href="a00499.html#a24f87ac1961418818b267ed4d02ff487">STDAIR_LOG_DEBUG</a> (<span class="stringliteral">"StdAir is building the BOM tree from built-in "</span></div> <div class="line"> << <span class="stringliteral">"specifications."</span>);</div> <div class="line"></div> <div class="line"> <span class="comment">// ////// Basic Bom Tree ///////</span></div> <div class="line"> <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div> <div class="line"> <span class="comment">// parts.</span></div> <div class="line"> buildSampleInventorySchedule (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div> <div class="line"> buildSamplePricing (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// ////// Partnership Bom Tree /////// </span></div> <div class="line"> <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div> <div class="line"> <span class="comment">// parts.</span></div> <div class="line"> buildPartnershipsSampleInventoryAndRM (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div> <div class="line"> buildPartnershipsSamplePricing (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Build a dummy inventory, needed by RMOL.</span></div> <div class="line"> buildCompleteDummyInventory (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// ////// Fare Families Bom Tree ///////</span></div> <div class="line"> <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div> <div class="line"> <span class="comment">// parts with fare families.</span></div> <div class="line"> buildSampleInventoryScheduleForFareFamilies (ioBomRoot);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div> <div class="line"> buildSamplePricingForFareFamilies (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Build a dummy inventory, needed by RMOL.</span></div> <div class="line"> buildCompleteDummyInventoryForFareFamilies (ioBomRoot);</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildSampleInventorySchedule (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Inventory</span></div> <div class="line"> <span class="comment">// Step 0.1: Inventory level</span></div> <div class="line"> <span class="comment">// Create an Inventory for BA</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeBA (<span class="stringliteral">"BA"</span>);</div> <div class="line"> <span class="keyword">const</span> InventoryKey lBAKey (lAirlineCodeBA);</div> <div class="line"> Inventory& lBAInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<Inventory>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBAKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lBAInv);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lBAInv);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the airline feature object to the BA inventory</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureBAKey (lAirlineCodeBA);</div> <div class="line"> AirlineFeature& lAirlineFeatureBA =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineFeature>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureBAKey);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lBAInv, lAirlineFeatureBA);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lAirlineFeatureBA);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureBA);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create an Inventory for AF</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeAF (<span class="stringliteral">"AF"</span>);</div> <div class="line"> <span class="keyword">const</span> InventoryKey lAFKey (lAirlineCodeAF);</div> <div class="line"> Inventory& lAFInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<Inventory>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAFKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAFInv);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lAFInv);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Add the airline feature object to the AF inventory</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureAFKey (lAirlineCodeAF);</div> <div class="line"> AirlineFeature& lAirlineFeatureAF =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineFeature>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureAFKey);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lAFInv, lAirlineFeatureAF);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAirlineFeatureAF);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureAF);</div> <div class="line"></div> <div class="line"> <span class="comment">// BA</span></div> <div class="line"> <span class="comment">// Step 0.2: Flight-date level</span></div> <div class="line"> <span class="comment">// Create a FlightDate (BA9/10-JUN-2011) for BA's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber = 9;</div> <div class="line"> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2011, 6, 10);</div> <div class="line"> FlightDateKey lFlightDateKey (lFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lBA9_20110610_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA9_20110610_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA9_20110610_FD);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the flight-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FlightDate: " << lBA9_20110610_FD.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.3: Segment-date level</span></div> <div class="line"> <span class="comment">// Create a first SegmentDate (LHR-SYD) for BA's Inventory</span></div> <div class="line"> <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&Carrier=BA&FlightNumber=0009&from=LHR&to=SYD&depDate=100611&SellingClass=O</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lLHR (<span class="stringliteral">"LHR"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSYD (<span class="stringliteral">"SYD"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l1Day (1);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l2Days (2);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l2135 (21, 45, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0610 (6, 10, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l2205 (22, 05, 0);</div> <div class="line"> SegmentDateKey lSegmentDateKey (lLHR, lSYD);</div> <div class="line"></div> <div class="line"> SegmentDate& lLHRSYDSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRSYDSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRSYDSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg keys to the LHR-SYD segment.</span></div> <div class="line"> <span class="keyword">const</span> std::string lBALHRRoutingLegStr = <span class="stringliteral">"BA;9;2011-Jun-10;LHR"</span>;</div> <div class="line"> <span class="keyword">const</span> std::string lBABKKRoutingLegStr = <span class="stringliteral">"BA;9;2011-Jun-10;BKK"</span>;</div> <div class="line"> lLHRSYDSegment.addLegKey (lBALHRRoutingLegStr);</div> <div class="line"> lLHRSYDSegment.addLegKey (lBABKKRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lLHRSYDSegment.setBoardingDate (lDate);</div> <div class="line"> lLHRSYDSegment.setOffDate (lDate + l2Days);</div> <div class="line"> lLHRSYDSegment.setBoardingTime (l2135);</div> <div class="line"> lLHRSYDSegment.setOffTime (l0610);</div> <div class="line"> lLHRSYDSegment.setElapsedTime (l2135);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRSYDSegment);</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a second SegmentDate (LHR-BKK) for BA's Inventory</span></div> <div class="line"> <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&Carrier=BA&FlightNumber=0009&from=LHR&to=BKK&depDate=100611&SellingClass=O</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">"BKK"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1540 (15, 40, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1105 (11, 5, 0);</div> <div class="line"> lSegmentDateKey = SegmentDateKey (lLHR, lBKK);</div> <div class="line"></div> <div class="line"> SegmentDate& lLHRBKKSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRBKKSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the LHR-BKK segment.</span></div> <div class="line"> lLHRBKKSegment.addLegKey (lBALHRRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lLHRBKKSegment.setBoardingDate (lDate);</div> <div class="line"> lLHRBKKSegment.setOffDate (lDate + l1Day);</div> <div class="line"> lLHRBKKSegment.setBoardingTime (l2135);</div> <div class="line"> lLHRBKKSegment.setOffTime (l1540);</div> <div class="line"> lLHRBKKSegment.setElapsedTime (l1105);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRBKKSegment);</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a third SegmentDate (BKK-SYD) for BA's Inventory</span></div> <div class="line"> <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&Carrier=BA&FlightNumber=0009&from=BKK&to=SYD&depDate=110611&SellingClass=O</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1705 (17, 5, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0905 (9, 5, 0);</div> <div class="line"> lSegmentDateKey = SegmentDateKey (lBKK, lSYD);</div> <div class="line"></div> <div class="line"> SegmentDate& lBKKSYDSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lBKKSYDSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lBKKSYDSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the BKK-SYD segment.</span></div> <div class="line"> lBKKSYDSegment.addLegKey (lBABKKRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lBKKSYDSegment.setBoardingDate (lDate + l1Day);</div> <div class="line"> lBKKSYDSegment.setOffDate (lDate + l2Days);</div> <div class="line"> lBKKSYDSegment.setBoardingTime (l1705);</div> <div class="line"> lBKKSYDSegment.setOffTime (l1540);</div> <div class="line"> lBKKSYDSegment.setElapsedTime (l0905);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentDate: " << lBKKSYDSegment);</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.4: Leg-date level</span></div> <div class="line"> <span class="comment">// Create a first LegDate (LHR) for BA's Inventory</span></div> <div class="line"> LegDateKey lLegDateKey (lLHR);</div> <div class="line"></div> <div class="line"> LegDate& lLHRLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lLHRLeg.setOffPoint (lBKK);</div> <div class="line"> lLHRLeg.setBoardingDate (lDate);</div> <div class="line"> lLHRLeg.setOffDate (lDate + l1Day);</div> <div class="line"> lLHRLeg.setBoardingTime (l2135);</div> <div class="line"> lLHRLeg.setOffTime (l1540);</div> <div class="line"> lLHRLeg.setElapsedTime (l1105);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegDate: " << lLHRLeg.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create a second LegDate (BKK)</span></div> <div class="line"> lLegDateKey = LegDateKey (lBKK);</div> <div class="line"></div> <div class="line"> LegDate& lBKKLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lBKKLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lBKKLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegDate: " << lBKKLeg.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lBKKLeg.setOffPoint (lSYD);</div> <div class="line"> lBKKLeg.setBoardingDate (lDate + l1Day);</div> <div class="line"> lBKKLeg.setOffDate (lDate + l2Days);</div> <div class="line"> lBKKLeg.setBoardingTime (l1705);</div> <div class="line"> lBKKLeg.setOffTime (l1540);</div> <div class="line"> lBKKLeg.setElapsedTime (l0905);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.5: segment-cabin level</span></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the Segment LHR-BKK of BA's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> SegmentCabinKey lYSegmentCabinKey (lY);</div> <div class="line"></div> <div class="line"> SegmentCabin& lLHRBKKSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegment, lLHRBKKSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegment, lLHRBKKSegmentYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the segment-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRBKKSegmentYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) of the Segment BKK-SYD;</span></div> <div class="line"> SegmentCabin& lBKKSYDSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegment, lBKKSYDSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegment, lBKKSYDSegmentYCabin);</div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentCabin: " << lBKKSYDSegmentYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) of the Segment LHR-SYD;</span></div> <div class="line"> SegmentCabin& lLHRSYDSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegment, lLHRSYDSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegment, lLHRSYDSegmentYCabin);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRSYDSegmentYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.6: leg-cabin level</span></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg LHR-BKK on BA's Inventory</span></div> <div class="line"> LegCabinKey lYLegCabinKey (lY);</div> <div class="line"></div> <div class="line"> LegCabin& lLHRLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRLeg, lLHRLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRLeg, lLHRLegYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg BKK-SYD</span></div> <div class="line"> LegCabin& lBKKLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKLeg, lBKKLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKLeg, lBKKLegYCabin);</div> <div class="line"> <span class="comment">// Display the leg-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegCabin: " << lBKKLegYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.7: fare family level</span></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment LHR-BKK, cabin Y on BA's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">"EcoSaver"</span>);</div> <div class="line"> FareFamilyKey l1FareFamilyKey (l1);</div> <div class="line"></div> <div class="line"> FareFamily& lLHRBKKSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin,</div> <div class="line"> lLHRBKKSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegmentYCabin,</div> <div class="line"> lLHRBKKSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FareFamily: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1Family.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment BKK-SYD, cabin Y on BA's Inv</span></div> <div class="line"> FareFamily& lBKKSYDSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin,</div> <div class="line"> lBKKSYDSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegmentYCabin,</div> <div class="line"> lBKKSYDSegmentYCabin1Family);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FareFamily: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1Family.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment LHR-SYD, cabin Y on BA's Inv</span></div> <div class="line"> FareFamily& lLHRSYDSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin,</div> <div class="line"> lLHRSYDSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegmentYCabin,</div> <div class="line"> lLHRSYDSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FareFamily: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1Family.toString());</span></div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.8: booking class level</span></div> <div class="line"> <span class="comment">// Create a BookingClass (Q) for the Segment LHR-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on BA's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">"Q"</span>);</div> <div class="line"> BookingClassKey lQBookingClassKey (lQ);</div> <div class="line"></div> <div class="line"> BookingClass& lLHRBKKSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin1Family,</div> <div class="line"> lLHRBKKSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegmentYCabin1Family,</div> <div class="line"> lLHRBKKSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin,</div> <div class="line"> lLHRBKKSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegment,</div> <div class="line"> lLHRBKKSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (Q) for the Segment BKK-SYD, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on BA's Inv</span></div> <div class="line"> BookingClass& lBKKSYDSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin1Family,</div> <div class="line"> lBKKSYDSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegmentYCabin1Family,</div> <div class="line"> lBKKSYDSegmentYCabin1FamilyQClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin,</div> <div class="line"> lBKKSYDSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegment,</div> <div class="line"> lBKKSYDSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (Q) for the Segment LHR-SYD, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on BA's Inv</span></div> <div class="line"> BookingClass& lLHRSYDSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin1Family,</div> <div class="line"> lLHRSYDSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegmentYCabin1Family,</div> <div class="line"> lLHRSYDSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin,</div> <div class="line"> lLHRSYDSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegment,</div> <div class="line"> lLHRSYDSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// ////// AF /////// </span></div> <div class="line"> <span class="comment">// Step 0.2: Flight-date level</span></div> <div class="line"> <span class="comment">// Create a FlightDate (AF084/20-MAR-2011) for AF's Inventory</span></div> <div class="line"> lFlightNumber = 84;</div> <div class="line"> lDate = <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> (2011, 3, 20);</div> <div class="line"> lFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lAF084_20110320_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF084_20110320_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF084_20110320_FD);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the flight-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FlightDate: " << lAF084_20110320_FD.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.3: Segment-date level</span></div> <div class="line"> <span class="comment">// Create a SegmentDate (CDG-SFO) for AF's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lCDG (<span class="stringliteral">"CDG"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSFO (<span class="stringliteral">"SFO"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1040 (10, 40, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1250 (12, 50, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1110 (11, 10, 0);</div> <div class="line"> lSegmentDateKey = SegmentDateKey (lCDG, lSFO);</div> <div class="line"></div> <div class="line"> SegmentDate& lCDGSFOSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF084_20110320_FD, lCDGSFOSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF084_20110320_FD, lCDGSFOSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the CDG-SFO segment.</span></div> <div class="line"> <span class="keyword">const</span> std::string lAFCDGRoutingLegStr = <span class="stringliteral">"AF;84;2011-Mar-20;CDG"</span>;</div> <div class="line"> lCDGSFOSegment.addLegKey (lAFCDGRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the segment-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentDate: " << lCDGSFOSegment.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lCDGSFOSegment.setBoardingDate (lDate);</div> <div class="line"> lCDGSFOSegment.setOffDate (lDate);</div> <div class="line"> lCDGSFOSegment.setBoardingTime (l1040);</div> <div class="line"> lCDGSFOSegment.setOffTime (l1250);</div> <div class="line"> lCDGSFOSegment.setElapsedTime (l1110);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.4: Leg-date level</span></div> <div class="line"> <span class="comment">// Create a LegDate (CDG) for AF's Inventory</span></div> <div class="line"> lLegDateKey = LegDateKey (lCDG);</div> <div class="line"></div> <div class="line"> LegDate& lCDGLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF084_20110320_FD, lCDGLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF084_20110320_FD, lCDGLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lCDGLeg.setOffPoint (lSFO);</div> <div class="line"> lCDGLeg.setBoardingDate (lDate);</div> <div class="line"> lCDGLeg.setOffDate (lDate);</div> <div class="line"> lCDGLeg.setBoardingTime (l1040);</div> <div class="line"> lCDGLeg.setOffTime (l1250);</div> <div class="line"> lCDGLeg.setElapsedTime (l1110);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegDate: " << lCDGLeg.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.5: segment-cabin level</span></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the Segment CDG-SFO of AF's Inventory</span></div> <div class="line"> SegmentCabin& lCDGSFOSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegment, lCDGSFOSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegment, lCDGSFOSegmentYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the segment-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentCabin: " << lCDGSFOSegmentYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.6: leg-cabin level</span></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg CDG-SFO on AF's Inventory</span></div> <div class="line"> LegCabin& lCDGLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGLeg, lCDGLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGLeg, lCDGLegYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.7: fare family level</span></div> <div class="line"> <span class="comment">// Create a fareFamily (1) for the Segment CDG-SFO, cabin Y on AF's Inv</span></div> <div class="line"> FareFamily& lCDGSFOSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin,</div> <div class="line"> lCDGSFOSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegmentYCabin,</div> <div class="line"> lCDGSFOSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the fare family</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("fareFamily: "</span></div> <div class="line"> <span class="comment">//</span></div> <div class="line"> <span class="comment">// << lCDGSFOSegmentYCabin1Family.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.8: booking class level Create a BookingClass (Q) for the</span></div> <div class="line"> <span class="comment">// Segment CDG-SFO, cabin Y, fare family 1 on AF's Inv</span></div> <div class="line"> BookingClass& lCDGSFOSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin1Family,</div> <div class="line"> lCDGSFOSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegmentYCabin1Family,</div> <div class="line"> lCDGSFOSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin,</div> <div class="line"> lCDGSFOSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegment,</div> <div class="line"> lCDGSFOSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lCDGSFOSegmentYCabin1FamilyQClass.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// Schedule:</span></div> <div class="line"> <span class="comment">// BA:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for BA9:</span></div> <div class="line"> <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">"1111111"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lBA9DateRangeStart (2010, boost::gregorian::Jun, 6);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lBA9DateRangeEnd (2010, boost::gregorian::Jun, 7);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lBA9DatePeriod (lBA9DateRangeStart, lBA9DateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lBA9PeriodStruct (lBA9DatePeriod, lDoWSrtuct);</div> <div class="line"></div> <div class="line"> lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (9);</div> <div class="line"></div> <div class="line"> FlightPeriodKey lBA9FlightPeriodKey (lFlightNumber, lBA9PeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lBA9FlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBA9FlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA9FlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA9FlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period for LHR-SYD:</span></div> <div class="line"></div> <div class="line"> SegmentPeriodKey lLHRSYDSegmentPeriodKey (lLHR, lSYD);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lLHRSYDSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLHRSYDSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9FlightPeriod, lLHRSYDSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9FlightPeriod, lLHRSYDSegmentPeriod);</div> <div class="line"></div> <div class="line"> lLHRSYDSegmentPeriod.setBoardingTime (l2135);</div> <div class="line"> lLHRSYDSegmentPeriod.setOffTime (l1540);</div> <div class="line"> lLHRSYDSegmentPeriod.setElapsedTime (l1105);</div> <div class="line"> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYM (<span class="stringliteral">"YM"</span>);</div> <div class="line"> lLHRSYDSegmentPeriod.addCabinBookingClassList (lY,lYM);</div> <div class="line"></div> <div class="line"> <span class="comment">// AF:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for AF84:</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lAF84DateRangeStart (2011, boost::gregorian::Mar, 20);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lAF84DateRangeEnd (2011, boost::gregorian::Mar, 21);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lAF84DatePeriod (lAF84DateRangeStart, lAF84DateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lAF84PeriodStruct (lAF84DatePeriod, lDoWSrtuct);</div> <div class="line"></div> <div class="line"> lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (84);</div> <div class="line"></div> <div class="line"> FlightPeriodKey lAF84FlightPeriodKey (lFlightNumber, lAF84PeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lAF84FlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAF84FlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF84FlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF84FlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period for CDG-SFO:</span></div> <div class="line"></div> <div class="line"> SegmentPeriodKey lCDGSFOSegmentPeriodKey (lCDG, lSFO);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lCDGSFOSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCDGSFOSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF84FlightPeriod, lCDGSFOSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF84FlightPeriod, lCDGSFOSegmentPeriod);</div> <div class="line"></div> <div class="line"> lCDGSFOSegmentPeriod.setBoardingTime (l1040);</div> <div class="line"> lCDGSFOSegmentPeriod.setOffTime (l1250);</div> <div class="line"> lCDGSFOSegmentPeriod.setElapsedTime (l1110);</div> <div class="line"> lCDGSFOSegmentPeriod.addCabinBookingClassList (lY,lYM);</div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// O&D </span></div> <div class="line"> <span class="comment">// Create an O&D Date (BA;9,2010-Jun-06;LHR,SYD) for BA's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lBALHRSYDOnDStr = <span class="stringliteral">"BA;9,2010-Jun-06;LHR,SYD"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lBAOnDStrList;</div> <div class="line"> lBAOnDStrList.push_back (lBALHRSYDOnDStr);</div> <div class="line"></div> <div class="line"> OnDDateKey lBAOnDDateKey (lBAOnDStrList);</div> <div class="line"> OnDDate& lBA_LHRSYD_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBAOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA_LHRSYD_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA_LHRSYD_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segment</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA_LHRSYD_OnDDate, lLHRSYDSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean60StdDev6 (60.0, 6.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP750 = 750.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP750Mean60StdDev6 (lWTP750, lMean60StdDev6);</div> <div class="line"> lBA_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create an O&D Date (AF;84,2011-Mar-21;CDG,SFO) for AF's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lAFLHRSYDOnDStr = <span class="stringliteral">"AF;9,2011-Mar-20;CDG,SFO"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lAFOnDStrList;</div> <div class="line"> lAFOnDStrList.push_back (lAFLHRSYDOnDStr);</div> <div class="line"></div> <div class="line"> OnDDateKey lAFOnDDateKey (lAFOnDStrList);</div> <div class="line"> OnDDate& lAF_LHRSYD_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAFOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF_LHRSYD_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF_LHRSYD_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segment</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF_LHRSYD_OnDDate, lLHRSYDSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y. </span></div> <div class="line"> lAF_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::</div> <div class="line"> buildSampleInventoryScheduleForFareFamilies (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Inventory</span></div> <div class="line"> <span class="comment">// Step 0.1: Inventory level</span></div> <div class="line"> <span class="comment">// Get the Inventory SQ (already built by construction) </span></div> <div class="line"> <span class="keyword">const</span> InventoryKey lSQKey (<span class="stringliteral">"SQ"</span>);</div> <div class="line"> Inventory& lSQInv = BomManager::getObject<Inventory>(ioBomRoot,</div> <div class="line"> lSQKey.toString());</div> <div class="line"></div> <div class="line"> <span class="comment">// SQ</span></div> <div class="line"> <span class="comment">// Step 0.2: Flight-date level</span></div> <div class="line"> <span class="comment">// Create a FlightDate (SQ747/8-FEB-2010) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber747 = 747;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2010, 2, 8);</div> <div class="line"> <span class="keyword">const</span> FlightDateKey lFlightDateKey (lFlightNumber747, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lSQ747_20100208_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ747_20100208_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ747_20100208_FD);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the flight-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FlightDate: " << lSQ747_20100208_FD.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.3: Segment-date level</span></div> <div class="line"> <span class="comment">// Create a SegmentDate (SIN-BKK) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSIN (<span class="stringliteral">"SIN"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">"BKK"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0635 (6, 35, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0800 (8, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0225 (2, 25, 0);</div> <div class="line"> <span class="keyword">const</span> SegmentDateKey lSegmentDateKey (lSIN, lBKK);</div> <div class="line"></div> <div class="line"> SegmentDate& lSINBKKSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747_20100208_FD, lSINBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747_20100208_FD, lSINBKKSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the SIN-BKK segment.</span></div> <div class="line"> <span class="keyword">const</span> std::string lSQSINRoutingLegStr = <span class="stringliteral">"SQ;747;2010-Feb-8;SIN"</span>;</div> <div class="line"> lSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lSINBKKSegment.setBoardingDate (lDate);</div> <div class="line"> lSINBKKSegment.setOffDate (lDate);</div> <div class="line"> lSINBKKSegment.setBoardingTime (l0635);</div> <div class="line"> lSINBKKSegment.setOffTime (l0800);</div> <div class="line"> lSINBKKSegment.setElapsedTime (l0225);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentDate: " << lSINBKKSegment);</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.4: Leg-date level</span></div> <div class="line"> <span class="comment">// Create a LegDate (SIN) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> LegDateKey lLegDateKey (lSIN);</div> <div class="line"></div> <div class="line"> LegDate& lSINLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747_20100208_FD, lSINLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747_20100208_FD, lSINLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lSINLeg.setOffPoint (lBKK);</div> <div class="line"> lSINLeg.setBoardingDate (lDate);</div> <div class="line"> lSINLeg.setOffDate (lDate);</div> <div class="line"> lSINLeg.setBoardingTime (l0635);</div> <div class="line"> lSINLeg.setOffTime (l0800);</div> <div class="line"> lSINLeg.setElapsedTime (l0225);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegDate: " << lSINLeg.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.5: segment-cabin level</span></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the Segment SIN-BKK of SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> SegmentCabinKey lYSegmentCabinKey (lY);</div> <div class="line"> SegmentCabin& lSINBKKSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div> <div class="line"> lSINBKKSegmentYCabin.activateFareFamily ();</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the segment-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("SegmentCabin: " << lSINBKKSegmentYCabin.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.6: leg-cabin level</span></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg SIN-BKK on SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> LegCabinKey lYLegCabinKey (lY);</div> <div class="line"> LegCabin& lSINLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINLeg, lSINLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINLeg, lSINLegYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-cabin</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegCabin: " << lSINLegYCabin.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.7: fare family level</span></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment SIN-BKK, cabin Y on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">"1"</span>);</div> <div class="line"> <span class="keyword">const</span> FareFamilyKey l1FareFamilyKey (l1);</div> <div class="line"> FareFamily& lSINBKKSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1Family);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FareFamily: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin1Family.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (2) for the Segment SIN-BKK, cabin Y on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l2 (<span class="stringliteral">"2"</span>);</div> <div class="line"> <span class="keyword">const</span> FareFamilyKey l2FareFamilyKey (l2);</div> <div class="line"> FareFamily& lSINBKKSegmentYCabin2Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l2FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin2Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin2Family);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FareFamily: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin2Family.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.8: booking class level</span></div> <div class="line"> <span class="comment">// Create a BookingClass (Y) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 2 on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lYBookingClassKey (lClassY);</div> <div class="line"> BookingClass& lSINBKKSegmentYCabin2FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin2Family,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin2Family,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyYClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyYClass);</div> <div class="line"> lSINBKKSegmentYCabin2FamilyYClass.setYield(1200);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin2FamilyYClass.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create a BookingClass (B) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 2 on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lB (<span class="stringliteral">"B"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lBBookingClassKey (lB);</div> <div class="line"> BookingClass& lSINBKKSegmentYCabin2FamilyBClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin2Family,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyBClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin2Family,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyBClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyBClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin2FamilyBClass);</div> <div class="line"> lSINBKKSegmentYCabin2FamilyBClass.setYield(800);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin2FamilyBClass.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (M) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lM (<span class="stringliteral">"M"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lMBookingClassKey (lM);</div> <div class="line"> BookingClass& lSINBKKSegmentYCabin1FamilyMClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass.setYield(900);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin1FamilyMClass.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create a BookingClass (Q) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">"Q"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lQBookingClassKey (lQ);</div> <div class="line"> BookingClass& lSINBKKSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyQClass);</div> <div class="line"> lSINBKKSegmentYCabin1FamilyQClass.setYield(600);</div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the booking class</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("BookingClass: "</span></div> <div class="line"> <span class="comment">// << lSINBKKSegmentYCabin1FamilyQClass.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// Schedule:</span></div> <div class="line"> <span class="comment">// SQ:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for SQ747:</span></div> <div class="line"> <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">"1111111"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lSQ747DateRangeStart (2010, boost::gregorian::Feb, 8);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lSQ747DateRangeEnd (2010, boost::gregorian::Feb, 9);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lSQ747DatePeriod (lSQ747DateRangeStart, </div> <div class="line"> lSQ747DateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lSQ747PeriodStruct (lSQ747DatePeriod, lDoWSrtuct);</div> <div class="line"></div> <div class="line"> <span class="keyword">const</span> FlightPeriodKey lSQ747FlightPeriodKey (lFlightNumber747, </div> <div class="line"> lSQ747PeriodStruct);</div> <div class="line"> FlightPeriod& lSQ747FlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ747FlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ747FlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ747FlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period for SIN-BKK:</span></div> <div class="line"></div> <div class="line"> <span class="keyword">const</span> SegmentPeriodKey lSINBKKSegmentPeriodKey (lSIN, lBKK);</div> <div class="line"> SegmentPeriod& lSINBKKSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSINBKKSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747FlightPeriod, lSINBKKSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747FlightPeriod, lSINBKKSegmentPeriod);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYBMQ (<span class="stringliteral">"YBMQ"</span>);</div> <div class="line"> lSINBKKSegmentPeriod.addCabinBookingClassList (lY,lYBMQ);</div> <div class="line"> lSINBKKSegmentPeriod.setBoardingTime (l0635);</div> <div class="line"> lSINBKKSegmentPeriod.setOffTime (l0800);</div> <div class="line"> lSINBKKSegmentPeriod.setElapsedTime (l0225);</div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// O&D </span></div> <div class="line"> <span class="comment">// Create an O&D Date (SQ;747,2011-Feb-14;SIN,BKK) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lSQSINBKKOnDStr = <span class="stringliteral">"SQ;747,2011-Feb-14;SIN,BKK"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lSQOnDStrList;</div> <div class="line"> lSQOnDStrList.push_back (lSQSINBKKOnDStr);</div> <div class="line"></div> <div class="line"> <span class="keyword">const</span> OnDDateKey lSQOnDDateKey (lSQOnDStrList);</div> <div class="line"> OnDDate& lSQ_SINBKK_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINBKK_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINBKK_OnDDate);</div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean120StdDev12 (120.0, 12.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP1000 = 1000.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP1000Mean120StdDev12 (lWTP1000, lMean120StdDev12);</div> <div class="line"> lSQ_SINBKK_OnDDate.setTotalForecast (lY, lWTP1000Mean120StdDev12);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Add the segment</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINBKK_OnDDate, lSINBKKSegment);</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildDummyLegSegmentAccesses (BomRoot& ioBomRoot) { </div> <div class="line"></div> <div class="line"> <span class="comment">/* Build the direct accesses between the dummy segment cabins and the dummy </span></div> <div class="line"><span class="comment"> leg cabins within the dummy flight dates (the dummy fare family </span></div> <div class="line"><span class="comment"> flight date and the classic dummy flight date).</span></div> <div class="line"><span class="comment"> </span></div> <div class="line"><span class="comment"> As for now (May 2012), that method is called only by RMOL.</span></div> <div class="line"><span class="comment"> It is a substitute for the code doing it automatically located in AirInv.</span></div> <div class="line"><span class="comment"> See the AIRINV::InventoryManager::createDirectAccesses command.</span></div> <div class="line"><span class="comment"> */</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// ////// Dummy Inventory Leg Segment Accesses ///////</span></div> <div class="line"> <span class="comment">// Retrieve the (sample) segment-cabin.</span></div> <div class="line"> SegmentCabin& lDummySegmentCabin =</div> <div class="line"> <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Retrieve the (sample) leg-cabin.</span></div> <div class="line"> LegCabin& lDummyLegCabin =</div> <div class="line"> <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Links between the segment-date and the leg-date</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDummyLegCabin, lDummySegmentCabin);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDummySegmentCabin, lDummyLegCabin);</div> <div class="line"> </div> <div class="line"> <span class="comment">// ////// Fare Families Dummy Inventory Leg Segment Accesses ///////</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> isForFareFamilies = <span class="keyword">true</span>;</div> <div class="line"> <span class="comment">// Retrieve the (sample) segment-cabin for fare families.</span></div> <div class="line"> SegmentCabin& lFFDummySegmentCabin =</div> <div class="line"> <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot, isForFareFamilies);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Retrieve the (sample) leg-cabin for fare families.</span></div> <div class="line"> <a class="code" href="a00119.html" title="Class representing the actual attributes for an airline leg-cabin.">stdair::LegCabin</a>& lFFDummyLegCabin =</div> <div class="line"> <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">stdair::BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot, </div> <div class="line"> isForFareFamilies);</div> <div class="line"></div> <div class="line"> <span class="comment">// Links between the segment-date and the leg-date for fare families.</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFFDummyLegCabin, lFFDummySegmentCabin);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFFDummySegmentCabin, lFFDummyLegCabin);</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildCompleteDummyInventory (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Build a dummy inventory, containing a dummy flight-date with a</span></div> <div class="line"> <span class="comment">// single segment-cabin and a single leg-cabin.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity = <a class="code" href="a00535.html#aa471e14e464668c4ba835d267af17341">DEFAULT_CABIN_CAPACITY</a>;</div> <div class="line"> buildDummyInventory (ioBomRoot, lCapacity);</div> <div class="line"></div> <div class="line"> <span class="comment">// Retrieve the (sample) segment-cabin.</span></div> <div class="line"> SegmentCabin& lDummySegmentCabin =</div> <div class="line"> <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Retrieve the (sample) leg-cabin.</span></div> <div class="line"> LegCabin& lDummyLegCabin =</div> <div class="line"> <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add some booking classes to the dummy segment-cabin and some</span></div> <div class="line"> <span class="comment">// virtual ones to the dummy leg-cabin.</span></div> <div class="line"> <span class="comment">// First booking class yield and demand information.</span></div> <div class="line"> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield = 100;</div> <div class="line"> <a class="code" href="a00535.html#a761f03cfa1f92b22572b88650b3dc8f0">MeanValue_T</a> lMean = 20;</div> <div class="line"> <a class="code" href="a00535.html#a399beabb7114698e10b44e8dd4d675f8">StdDevValue_T</a> lStdDev= 9;</div> <div class="line"> BookingClassKey lBCKey (<a class="code" href="a00535.html#aa499aea3ef4e308979b2d2f6464dc20f">DEFAULT_CLASS_CODE</a>);</div> <div class="line"></div> <div class="line"> BookingClass& lDummyBookingClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBCKey);</div> <div class="line"> lDummyBookingClass.setYield (lYield);</div> <div class="line"> lDummyBookingClass.setMean (lMean);</div> <div class="line"> lDummyBookingClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add a booking class to the segment-cabin.</span></div> <div class="line"> <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div> <div class="line"> <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a> lDummyBookingClassList;</div> <div class="line"> lDummyBookingClassList.push_back(&lDummyBookingClass);</div> <div class="line"></div> <div class="line"> VirtualClassStruct lDummyVirtualClass (lDummyBookingClassList);</div> <div class="line"> lDummyVirtualClass.setYield (lYield);</div> <div class="line"> lDummyVirtualClass.setMean (lMean);</div> <div class="line"> lDummyVirtualClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div> <div class="line"> lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Second booking class yield and demand information.</span></div> <div class="line"> lYield = 70;</div> <div class="line"> lMean = 45;</div> <div class="line"> lStdDev= 12;</div> <div class="line"> lDummyBookingClass.setYield (lYield);</div> <div class="line"> lDummyBookingClass.setMean (lMean);</div> <div class="line"> lDummyBookingClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add a booking class to the segment-cabin.</span></div> <div class="line"> <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div> <div class="line"></div> <div class="line"> lDummyVirtualClass.setYield (lYield);</div> <div class="line"> lDummyVirtualClass.setMean (lMean);</div> <div class="line"> lDummyVirtualClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div> <div class="line"> lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Third booking class yield and demand information.</span></div> <div class="line"> lYield = 42;</div> <div class="line"> lMean = 80;</div> <div class="line"> lStdDev= 16;</div> <div class="line"> lDummyBookingClass.setYield (lYield);</div> <div class="line"> lDummyBookingClass.setMean (lMean);</div> <div class="line"> lDummyBookingClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add a booking class to the segment-cabin.</span></div> <div class="line"> <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div> <div class="line"></div> <div class="line"> lDummyVirtualClass.setYield (lYield);</div> <div class="line"> lDummyVirtualClass.setMean (lMean);</div> <div class="line"> lDummyVirtualClass.setStdDev (lStdDev);</div> <div class="line"> <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div> <div class="line"> lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildDummyInventory (BomRoot& ioBomRoot,</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a>& iCapacity) {</div> <div class="line"> <span class="comment">// Inventory</span></div> <div class="line"> <span class="keyword">const</span> InventoryKey lInventoryKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div> <div class="line"> Inventory& lInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<Inventory>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lInventoryKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lInv);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lInv);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the airline feature object to the dummy inventory</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div> <div class="line"> AirlineFeature& lAirlineFeature =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineFeature>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureKey);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lInv, lAirlineFeature);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lAirlineFeature);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeature);</div> <div class="line"></div> <div class="line"> <span class="comment">// Flight-date</span></div> <div class="line"> FlightDateKey lFlightDateKey(<a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a>, <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> FlightDate& lFlightDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lFlightDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lFlightDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Leg-date</span></div> <div class="line"> LegDateKey lLegDateKey (<a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>);</div> <div class="line"> LegDate& lLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lLeg.setOffPoint (<a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"> lLeg.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lLeg.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lLeg.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lLeg.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lLeg.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"></div> <div class="line"> <span class="comment">// Leg-cabin</span></div> <div class="line"> LegCabinKey lLegCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div> <div class="line"> LegCabin& lLegCabin = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLeg, lLegCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLeg, lLegCabin);</div> <div class="line"></div> <div class="line"> lLegCabin.setCapacities (iCapacity);</div> <div class="line"> lLegCabin.setAvailabilityPool (iCapacity);</div> <div class="line"></div> <div class="line"> <span class="comment">// Segment-date</span></div> <div class="line"> SegmentDateKey lSegmentDateKey (<a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"> SegmentDate& lSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the dummy segment.</span></div> <div class="line"> std::ostringstream oStr;</div> <div class="line"> oStr << <a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a> << <span class="stringliteral">";"</span></div> <div class="line"> << <a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a> << <span class="stringliteral">";"</span> </div> <div class="line"> << <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a> << <span class="stringliteral">";"</span></div> <div class="line"> << <a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>;</div> <div class="line"> lSegment.addLegKey (oStr.str());</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lSegment.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lSegment.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lSegment.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lSegment.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lSegment.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"></div> <div class="line"> <span class="comment">// Segment-cabin</span></div> <div class="line"> SegmentCabinKey lSegmentCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div> <div class="line"> SegmentCabin& lSegmentCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegment, lSegmentCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment LHR-BKK, cabin Y on BA's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">"EcoSaver"</span>);</div> <div class="line"> FareFamilyKey l1FareFamilyKey (l1);</div> <div class="line"></div> <div class="line"> FareFamily& lSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a booking-class</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">"Q"</span>);</div> <div class="line"> BookingClassKey lQBookingClassKey (lQ);</div> <div class="line"></div> <div class="line"> BookingClass& lSegmentYCabin1FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyQClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyQClass);</div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// Schedule:</span></div> <div class="line"> <span class="comment">// XX:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for XX:</span></div> <div class="line"> <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">"1111111"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeStart (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeEnd (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lXXDatePeriod (lXXDateRangeStart, lXXDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lXXPeriodStruct (lXXDatePeriod, lDoWSrtuct);</div> <div class="line"></div> <div class="line"> FlightPeriodKey lXXFlightPeriodKey (<a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a>, lXXPeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lXXFlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXFlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lXXFlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lXXFlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period </span></div> <div class="line"></div> <div class="line"> SegmentPeriodKey lXXSegmentPeriodKey (DEFAULT_ORIGIN, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lXXSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lXXFlightPeriod, lXXSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lXXFlightPeriod, lXXSegmentPeriod);</div> <div class="line"></div> <div class="line"> lXXSegmentPeriod.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lXXSegmentPeriod.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lXXSegmentPeriod.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYQ (<span class="stringliteral">"YQ"</span>);</div> <div class="line"> lXXSegmentPeriod.addCabinBookingClassList (lY,lYQ);</div> <div class="line"></div> <div class="line"></div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::</div> <div class="line"> buildCompleteDummyInventoryForFareFamilies (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Build a dummy inventory, containing a dummy flight-date with a</span></div> <div class="line"> <span class="comment">// single segment-cabin and a single leg-cabin (for fare families </span></div> <div class="line"> <span class="comment">// algorithms)</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Get the default Inventory object (already built in by construction)</span></div> <div class="line"> <span class="keyword">const</span> InventoryKey lInventoryKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div> <div class="line"> Inventory& lInv = BomManager::getObject<Inventory>(ioBomRoot,</div> <div class="line"> lInventoryKey.toString());</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy Flight-date</span></div> <div class="line"> <span class="keyword">const</span> FlightDateKey lFlightDateKey(<a class="code" href="a00535.html#adeba05b12ba23987eef1c9b56a06373c">DEFAULT_FLIGHT_NUMBER_FF</a>, </div> <div class="line"> <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> FlightDate& lFlightDate = </div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lFlightDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lFlightDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy Leg-date</span></div> <div class="line"> LegDateKey lLegDateKey (DEFAULT_ORIGIN);</div> <div class="line"> LegDate& lLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lLeg.setOffPoint (<a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"> lLeg.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lLeg.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lLeg.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lLeg.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lLeg.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy Leg-cabin</span></div> <div class="line"> <span class="keyword">const</span> LegCabinKey lLegCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div> <div class="line"> LegCabin& lLegCabin = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLeg, lLegCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLeg, lLegCabin);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity = <a class="code" href="a00535.html#aa471e14e464668c4ba835d267af17341">DEFAULT_CABIN_CAPACITY</a>;</div> <div class="line"> lLegCabin.setCapacities (lCapacity);</div> <div class="line"> lLegCabin.setAvailabilityPool (lCapacity);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy Segment-date</span></div> <div class="line"> <span class="keyword">const</span> SegmentDateKey lSegmentDateKey (DEFAULT_ORIGIN, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"> SegmentDate& lSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the dummy segment.</span></div> <div class="line"> std::ostringstream oStr;</div> <div class="line"> oStr << <a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a> << <span class="stringliteral">";"</span></div> <div class="line"> << <a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a> << <span class="stringliteral">";"</span> </div> <div class="line"> << <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a> << <span class="stringliteral">";"</span></div> <div class="line"> << <a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>;</div> <div class="line"> lSegment.addLegKey (oStr.str());</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lSegment.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lSegment.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> lSegment.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lSegment.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lSegment.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy Segment-cabin</span></div> <div class="line"> <span class="keyword">const</span> SegmentCabinKey lSegmentCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div> <div class="line"> SegmentCabin& lSegmentCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegment, lSegmentCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy FareFamily (FF1) </span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">"FF1"</span>);</div> <div class="line"> <span class="keyword">const</span> FareFamilyKey l1FareFamilyKey (l1);</div> <div class="line"></div> <div class="line"> FareFamily& lSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <span class="comment">// Set the forecasted demand</span></div> <div class="line"> <span class="comment">// TODO change the size (hard code)</span></div> <div class="line"> <a class="code" href="a00535.html#a8b604fc4a6a53961b5826534f810adae">MeanStdDevPairVector_T</a> lDemandVector1FareFamily;</div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size = 16;</div> <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx = 0; idx < size; ++idx) {</div> <div class="line"> <span class="keywordtype">double</span> i = <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span> (idx);</div> <div class="line"> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMeanStdDevPair (i/4.0, i/20.0);</div> <div class="line"> lDemandVector1FareFamily.push_back(lMeanStdDevPair);</div> <div class="line"> }</div> <div class="line"> lSegmentYCabin1Family.setMeanStdDev(lDemandVector1FareFamily);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a dummy booking-class</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lYBookingClassKey (lY);</div> <div class="line"></div> <div class="line"> BookingClass& lSegmentYCabin1FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield = 1000;</div> <div class="line"> lSegmentYCabin1FamilyYClass.setYield(lYield);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyYClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a second dummy booking-class</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lU (<span class="stringliteral">"U"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lUBookingClassKey (lU);</div> <div class="line"></div> <div class="line"> BookingClass& lSegmentYCabin1FamilyUClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lUBookingClassKey);</div> <div class="line"> lYield = 600;</div> <div class="line"> lSegmentYCabin1FamilyUClass.setYield(lYield);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyUClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div> <div class="line"> lSegmentYCabin1FamilyUClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyUClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyUClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a second dummy FareFamily (2) </span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l2 (<span class="stringliteral">"FF2"</span>);</div> <div class="line"> <span class="keyword">const</span> FareFamilyKey l2FareFamilyKey (l2);</div> <div class="line"></div> <div class="line"> FareFamily& lSegmentYCabin2Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l2FareFamilyKey);</div> <div class="line"> <span class="comment">// Set the forecasted demand</span></div> <div class="line"> <span class="comment">// TODO change the size (hard code)</span></div> <div class="line"> <a class="code" href="a00535.html#a8b604fc4a6a53961b5826534f810adae">MeanStdDevPairVector_T</a> lDemandVector2FareFamily;</div> <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx = 0; idx < size; ++idx) {</div> <div class="line"> <span class="keywordtype">double</span> i = <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span> (idx);</div> <div class="line"> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMeanStdDevPair (i/2.0, i/10.0);</div> <div class="line"> lDemandVector2FareFamily.push_back(lMeanStdDevPair);</div> <div class="line"> }</div> <div class="line"> lSegmentYCabin2Family.setMeanStdDev(lDemandVector2FareFamily);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin2Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a third dummy booking-class</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lO (<span class="stringliteral">"O"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lOBookingClassKey (lO);</div> <div class="line"></div> <div class="line"> BookingClass& lSegmentYCabin2FamilyOClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOBookingClassKey);</div> <div class="line"> lYield = 750;</div> <div class="line"> lSegmentYCabin2FamilyOClass.setYield(lYield);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin2Family,</div> <div class="line"> lSegmentYCabin2FamilyOClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin2Family,</div> <div class="line"> lSegmentYCabin2FamilyOClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2FamilyOClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin2FamilyOClass);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a fourth dummy booking-class</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">"Q"</span>);</div> <div class="line"> <span class="keyword">const</span> BookingClassKey lQBookingClassKey (lQ);</div> <div class="line"></div> <div class="line"> BookingClass& lSegmentYCabin2FamilyQClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div> <div class="line"> lYield = 400;</div> <div class="line"> lSegmentYCabin2FamilyQClass.setYield(lYield);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin2Family,</div> <div class="line"> lSegmentYCabin2FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin2Family,</div> <div class="line"> lSegmentYCabin2FamilyQClass);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2FamilyQClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin2FamilyQClass);</div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// Schedule:</span></div> <div class="line"> <span class="comment">// XX:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for XX:</span></div> <div class="line"> <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">"1111111"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeStart (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeEnd (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lXXDatePeriod (lXXDateRangeStart, lXXDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lXXPeriodStruct (lXXDatePeriod, lDoWSrtuct);</div> <div class="line"></div> <div class="line"> <span class="keyword">const</span> FlightPeriodKey lXXFlightPeriodKey (<a class="code" href="a00535.html#adeba05b12ba23987eef1c9b56a06373c">DEFAULT_FLIGHT_NUMBER_FF</a>, </div> <div class="line"> lXXPeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lXXFlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXFlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lXXFlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lXXFlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period </span></div> <div class="line"> <span class="keyword">const</span> SegmentPeriodKey lXXSegmentPeriodKey (DEFAULT_ORIGIN, </div> <div class="line"> <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lXXSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lXXFlightPeriod, lXXSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lXXFlightPeriod, lXXSegmentPeriod);</div> <div class="line"></div> <div class="line"> lXXSegmentPeriod.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div> <div class="line"> lXXSegmentPeriod.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div> <div class="line"> lXXSegmentPeriod.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lYCabin (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYUOQ (<span class="stringliteral">"YUOQ"</span>);</div> <div class="line"> lXXSegmentPeriod.addCabinBookingClassList (lYCabin,lYUOQ);</div> <div class="line"></div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildSamplePricing (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the airport-pair primary key.</span></div> <div class="line"> <span class="keyword">const</span> AirportPairKey lAirportPairKey (<a class="code" href="a00535.html#acc57101721a7e3fb24f885b88b419370">AIRPORT_LHR</a>, <a class="code" href="a00535.html#a56c9bd57c0133c5226df658b9df7e1ae">AIRPORT_SYD</a>);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirportPairKey object and link it to the BOM tree root.</span></div> <div class="line"> AirportPair& lAirportPair =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirportPair>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirportPair);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lAirportPair);</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare date-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2011, boost::gregorian::Jan, 15);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2011, boost::gregorian::Dec, 31);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div> <div class="line"> DatePeriod& lDatePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<DatePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAirportPair, lDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAirportPair, lDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> <span class="keyword">const</span> PosChannelKey lPosChannelKey (<a class="code" href="a00535.html#ab056bf0d57300ddf019fca07f1f12c7b">POS_LHR</a>, <a class="code" href="a00535.html#a2f70c12a8f2fdb14bd4cc62fcee0d768">CHANNEL_DN</a>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDatePeriod, lPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lDatePeriod, lPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the fare time-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div> <div class="line"> <span class="keyword">const</span> TimePeriodKey lTimePeriodKey (lTimeRangeStart, lTimeRangeEnd);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lPosChannel, lTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lPosChannel, lTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Pricing -- Generate the FareRule</span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesKey (<a class="code" href="a00535.html#a4166cba933e5ac4fa65a5aafa54d0e75">TRIP_TYPE_ROUND_TRIP</a>,</div> <div class="line"> <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lFareFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeatures); </div> <div class="line"></div> <div class="line"> <span class="comment">// Revenue Accounting -- Generate the YieldRule</span></div> <div class="line"> <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#a4166cba933e5ac4fa65a5aafa54d0e75">TRIP_TYPE_ROUND_TRIP</a>,</div> <div class="line"> <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> YieldFeatures& lYieldFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<YieldFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lYieldFeatures); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their respective</span></div> <div class="line"> <span class="comment">// fare and yield rules.</span></div> <div class="line"> <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lAirlineCodeList;</div> <div class="line"> lAirlineCodeList.push_back (<a class="code" href="a00535.html#a27032d53cbb58800dac81feb4c0bc33f">AIRLINE_CODE_BA</a>);</div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassCodeList;</div> <div class="line"> lClassCodeList.push_back (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lAirlineClassListKey (lAirlineCodeList,</div> <div class="line"> lClassCodeList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassList</span></div> <div class="line"> AirlineClassList& lAirlineClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassListKey);</div> <div class="line"> <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div> <div class="line"> lAirlineClassList.setFare (900);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeatures, lAirlineClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeatures, lAirlineClassList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div> <div class="line"> lAirlineClassList.setYield (900);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassList);</div> <div class="line"> <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div> <div class="line"> <span class="comment">// lAirlineClassList. Check that it is what is actually wanted.</span></div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassList);</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildSamplePricingForFareFamilies (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Get the airport-pair primary key SIN-BKK</span></div> <div class="line"> <span class="comment">// (already built by construction)</span></div> <div class="line"> <span class="keyword">const</span> AirportPairKey lAirportPairKey (<span class="stringliteral">"SIN"</span>, <span class="stringliteral">"BKK"</span>);</div> <div class="line"> AirportPair& lAirportPair =</div> <div class="line"> BomManager::getObject<AirportPair>(ioBomRoot, lAirportPairKey.toString());</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare date-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Feb, 1);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2011, boost::gregorian::Feb, 15);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div> <div class="line"> DatePeriod& lDatePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<DatePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAirportPair, lDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAirportPair, lDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> <span class="keyword">const</span> PosChannelKey lPosChannelKey (<span class="stringliteral">"SIN"</span>, <a class="code" href="a00535.html#af39c23bd8d9a5aa95f75e7f997b5af25">CHANNEL_IN</a>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDatePeriod, lPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lDatePeriod, lPosChannel);</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare time-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div> <div class="line"> <span class="keyword">const</span> TimePeriodKey lTimePeriodKey (lTimeRangeStart, lTimeRangeEnd);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lPosChannel, lTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lPosChannel, lTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Pricing -- Generate the FareRule</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> ONE_MONTH_ADVANCE_PURCHASE = 30;</div> <div class="line"> <span class="comment">// Generate the first FareFeatures for the class Q </span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesQKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> ONE_MONTH_ADVANCE_PURCHASE,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lFareFeaturesQ =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesQKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesQ);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesQ);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the second FareFeatures for the class M </span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesMKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lFareFeaturesM =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesMKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesM);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesM); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the third FareFeatures for the class B</span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesBKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> ONE_MONTH_ADVANCE_PURCHASE,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>,<span class="comment">//Refundable</span></div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lFareFeaturesB =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesBKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesB);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesB); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the fourth FareFeatures for the class Y</span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesYKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>,<span class="comment">//Refundable</span></div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lFareFeaturesY =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesYKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesY);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesY);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Revenue Accounting -- Generate the YieldRule</span></div> <div class="line"> <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> YieldFeatures& lYieldFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<YieldFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lYieldFeatures);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their respective</span></div> <div class="line"> <span class="comment">// fare and yield rules.</span></div> <div class="line"> <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lAirlineCodeList;</div> <div class="line"> lAirlineCodeList.push_back (<span class="stringliteral">"SQ"</span>);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassYList;</div> <div class="line"> lClassYList.push_back (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lAirlineClassYListKey (lAirlineCodeList,</div> <div class="line"> lClassYList);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirlineClassList</span></div> <div class="line"> AirlineClassList& lAirlineClassYList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassYListKey);</div> <div class="line"> <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesY, lAirlineClassYList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesY, lAirlineClassYList);</div> <div class="line"> lAirlineClassYList.setFare (1200); </div> <div class="line"> lAirlineClassYList.setYield (1200);</div> <div class="line"></div> <div class="line"> <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassYList);</div> <div class="line"> <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div> <div class="line"> <span class="comment">// lAirlineClassList. Check that it is what is actually wanted.</span></div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassYList);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassBList;</div> <div class="line"> lClassBList.push_back (<span class="stringliteral">"B"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lAirlineClassBListKey (lAirlineCodeList,</div> <div class="line"> lClassBList);</div> <div class="line"> <span class="comment">// Create the AirlineClassList</span></div> <div class="line"> AirlineClassList& lAirlineClassBList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassBListKey);</div> <div class="line"> <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesB, lAirlineClassBList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesB, lAirlineClassBList);</div> <div class="line"> lAirlineClassBList.setFare (800); </div> <div class="line"> lAirlineClassBList.setYield (800);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassBList);</div> <div class="line"> <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div> <div class="line"> <span class="comment">// lAirlineClassList. Check that it is what is actually wanted.</span></div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassBList);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassMList;</div> <div class="line"> lClassMList.push_back (<span class="stringliteral">"M"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lAirlineClassMListKey (lAirlineCodeList,</div> <div class="line"> lClassMList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassList</span></div> <div class="line"> AirlineClassList& lAirlineClassMList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassMListKey);</div> <div class="line"> <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesM, lAirlineClassMList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesM, lAirlineClassMList);</div> <div class="line"> lAirlineClassMList.setFare (900); </div> <div class="line"> lAirlineClassMList.setYield (900);</div> <div class="line"></div> <div class="line"> <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassMList);</div> <div class="line"> <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div> <div class="line"> <span class="comment">// lAirlineClassList. Check that it is what is actually wanted.</span></div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassMList);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassQList;</div> <div class="line"> lClassQList.push_back (<span class="stringliteral">"Q"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lAirlineClassQListKey (lAirlineCodeList,</div> <div class="line"> lClassQList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassList</span></div> <div class="line"> AirlineClassList& lAirlineClassQList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassQListKey);</div> <div class="line"> <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesQ, lAirlineClassQList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesQ, lAirlineClassQList);</div> <div class="line"> lAirlineClassQList.setFare (600); </div> <div class="line"> lAirlineClassQList.setYield (600);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassQList);</div> <div class="line"> <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div> <div class="line"> <span class="comment">// lAirlineClassList. Check that it is what is actually wanted.</span></div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassQList);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::</div> <div class="line"> buildSampleTravelSolutionForPricing (<a class="code" href="a00535.html#a7044bfd349753c09860d25bdba03144a">TravelSolutionList_T</a>& ioTravelSolutionList) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Clean the list</span></div> <div class="line"> ioTravelSolutionList.clear();</div> <div class="line"></div> <div class="line"> <span class="comment">//</span></div> <div class="line"> <span class="keyword">const</span> std::string lBA9_SegmentDateKey (<span class="stringliteral">"BA, 9, 2011-06-10, LHR, SYD, 21:45"</span>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segment date key to the travel solution</span></div> <div class="line"> TravelSolutionStruct lTS;</div> <div class="line"> lTS.addSegment (lBA9_SegmentDateKey);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the travel solution to the list</span></div> <div class="line"> ioTravelSolutionList.push_back (lTS);</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::</div> <div class="line"> buildSampleTravelSolutions (<a class="code" href="a00535.html#a7044bfd349753c09860d25bdba03144a">TravelSolutionList_T</a>& ioTravelSolutionList) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Clean the list</span></div> <div class="line"> ioTravelSolutionList.clear();</div> <div class="line"></div> <div class="line"> <span class="comment">//</span></div> <div class="line"> <span class="keyword">const</span> std::string lBA9_SegmentDateKey (<span class="stringliteral">"BA, 9, 2011-06-10, LHR, SYD, 21:45"</span>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segment date key to the travel solution</span></div> <div class="line"> TravelSolutionStruct lTS1;</div> <div class="line"> lTS1.addSegment (lBA9_SegmentDateKey);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fare option number 1</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassPathQ (<a class="code" href="a00535.html#a77dbfd820c37676f07c20ba8ef10632c">CLASS_CODE_Q</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare900 (900);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFee (<a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> isNonRefundable (<a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a713af56dbc04fcb11b3a2fc8ff71b407">SaturdayStay_T</a> lSaturdayStay (<a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>);</div> <div class="line"> <span class="keyword">const</span> FareOptionStruct lFareOption1 (lClassPathQ, lFare900, lChangeFee,</div> <div class="line"> isNonRefundable, lSaturdayStay);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add (a copy of) the fare option</span></div> <div class="line"> lTS1.addFareOption (lFareOption1);</div> <div class="line"> <span class="comment">//</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Map of class availabilities: set the availability for the Q</span></div> <div class="line"> <span class="comment">// booking class (the one corresponding to the fare option) to 8.</span></div> <div class="line"> <a class="code" href="a00535.html#a6b90932da2c94e4db3283c13c606a14c">ClassAvailabilityMap_T</a> lClassAvailabilityMap1;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a98f98ecbccf4e7bfea260b013e1c6c12">Availability_T</a> lAvl1 (8);</div> <div class="line"> <span class="keywordtype">bool</span> hasInsertOfQBeenSuccessful = lClassAvailabilityMap1.</div> <div class="line"> insert (ClassAvailabilityMap_T::value_type (lClassPathQ, lAvl1)).second;</div> <div class="line"> assert (hasInsertOfQBeenSuccessful == <span class="keyword">true</span>);</div> <div class="line"> <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div> <div class="line"> lTS1.addClassAvailabilityMap (lClassAvailabilityMap1);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the travel solution to the list</span></div> <div class="line"> ioTravelSolutionList.push_back (lTS1);</div> <div class="line"></div> <div class="line"> <span class="comment">//</span></div> <div class="line"> <span class="keyword">const</span> std::string lQF12_SegmentDateKey (<span class="stringliteral">"QF, 12, 2011-06-10, LHR, SYD, 20:45"</span>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segment date key to the travel solution</span></div> <div class="line"> TravelSolutionStruct lTS2;</div> <div class="line"> lTS2.addSegment (lQF12_SegmentDateKey);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fare option number 2</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassPathY (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare1000 (1000);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lNoChangeFee (<a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> isRefundable (<a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>);</div> <div class="line"> <span class="keyword">const</span> FareOptionStruct lFareOption2 (lClassPathY, lFare1000, lNoChangeFee,</div> <div class="line"> isRefundable, lSaturdayStay);</div> <div class="line"></div> <div class="line"> <span class="comment">// Map of class availabilities: set the availability for the Y</span></div> <div class="line"> <span class="comment">// booking class (the one corresponding to the fare option) to 9.</span></div> <div class="line"> <a class="code" href="a00535.html#a6b90932da2c94e4db3283c13c606a14c">ClassAvailabilityMap_T</a> lClassAvailabilityMap2;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a98f98ecbccf4e7bfea260b013e1c6c12">Availability_T</a> lAvl2 (9);</div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasInsertOfYBeenSuccessful = lClassAvailabilityMap2.</div> <div class="line"> insert (ClassAvailabilityMap_T::value_type (lClassPathY, lAvl2)).second;</div> <div class="line"> assert (hasInsertOfYBeenSuccessful == <span class="keyword">true</span>);</div> <div class="line"> <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div> <div class="line"> lTS2.addClassAvailabilityMap (lClassAvailabilityMap2);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add (a copy of) the fare option</span></div> <div class="line"> lTS2.addFareOption (lFareOption2);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fare option number 3</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare920 (920);</div> <div class="line"> <span class="keyword">const</span> FareOptionStruct lFareOption3 (lClassPathQ, lFare920, lNoChangeFee,</div> <div class="line"> isNonRefundable, lSaturdayStay);</div> <div class="line"></div> <div class="line"> <span class="comment">// Map of class availabilities: set the availability for the Q</span></div> <div class="line"> <span class="comment">// booking class (the one corresponding to the fare option) to 9.</span></div> <div class="line"> hasInsertOfQBeenSuccessful = lClassAvailabilityMap2.</div> <div class="line"> insert (ClassAvailabilityMap_T::value_type (lClassPathQ, lAvl2)).second;</div> <div class="line"> assert (hasInsertOfYBeenSuccessful == <span class="keyword">true</span>);</div> <div class="line"> <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div> <div class="line"> lTS2.addClassAvailabilityMap (lClassAvailabilityMap2);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add (a copy of) the fare option</span></div> <div class="line"> lTS2.addFareOption (lFareOption3);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the travel solution to the list</span></div> <div class="line"> ioTravelSolutionList.push_back (lTS2);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> BookingRequestStruct CmdBomManager::buildSampleBookingRequest() {</div> <div class="line"> <span class="comment">// Origin</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lOrigin (<a class="code" href="a00535.html#acc57101721a7e3fb24f885b88b419370">AIRPORT_LHR</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Destination</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lDestination (<a class="code" href="a00535.html#a56c9bd57c0133c5226df658b9df7e1ae">AIRPORT_SYD</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Point of Sale (POS)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ae40f6b7ccf542e22817e0f4a4d5d9a38">CityCode_T</a> lPOS (<a class="code" href="a00535.html#ab056bf0d57300ddf019fca07f1f12c7b">POS_LHR</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred departure date (10-JUN-2011)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lPreferredDepartureDate (2011, boost::gregorian::Jun, 10);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred departure time (08:00)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lPreferredDepartureTime (8, 0, 0);</div> <div class="line"></div> <div class="line"> <span class="comment">// Date of the request (15-MAY-2011)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lRequestDate (2011, boost::gregorian::May, 15);</div> <div class="line"></div> <div class="line"> <span class="comment">// Time of the request (10:00)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lRequestTime (10, 0, 0);</div> <div class="line"></div> <div class="line"> <span class="comment">// Date-time of the request (made of the date and time above)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a158c02e7885bcab624391189d7563c96">DateTime_T</a> lRequestDateTime (lRequestDate, lRequestTime);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred cabin (also named class of service sometimes)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lPreferredCabin (<a class="code" href="a00535.html#a51c0834cb104fc28f6e2a5968105d019">CABIN_ECO</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Number of persons in the party</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a474d6775eb6e99cd3877248807335cca">PartySize_T</a> lPartySize (3);</div> <div class="line"></div> <div class="line"> <span class="comment">// Channel (direct/indirect, on-line/off-line)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3a2502a9ba99e5bfd61fd5a2aa9e6de0">ChannelLabel_T</a> lChannel (<a class="code" href="a00535.html#a2f70c12a8f2fdb14bd4cc62fcee0d768">CHANNEL_DN</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Type of the trip (one-way, inbound/outbound of a return trip)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3fc070ff94549282179c4e0e10213667">TripType_T</a> lTripType (<a class="code" href="a00535.html#a40edd65b6d6ec30e9dc836210b2eeea5">TRIP_TYPE_INBOUND</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Duration of the stay (expressed as a number of days)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> lStayDuration (<a class="code" href="a00535.html#a8f658fc38968c51a2288af40cf3dfa86">DEFAULT_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Frequent flyer tier (member, silver, gold, platinum, senator, etc)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a77e7582d7cd3bdb95c08e1011dd25359">FrequentFlyer_T</a> lFrequentFlyerType (<a class="code" href="a00535.html#aaf09a84f6fa3873b6c2fcf68c8ecd951">FREQUENT_FLYER_MEMBER</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Maximum willing-to-pay (WTP, expressed in monetary unit, e.g., EUR)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP (<a class="code" href="a00535.html#a1ff2f7327a614d145fbe55ae5e24bdff">DEFAULT_WTP</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Value of time, for the customer (expressed in monetary unit per</span></div> <div class="line"> <span class="comment">// unit of time, e.g., EUR/hour)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2fa5b378f892db246eab1e14126a66a2">PriceValue_T</a> lValueOfTime (<a class="code" href="a00535.html#a718e840a1e0255d13d19152961cd98b0">DEFAULT_VALUE_OF_TIME</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Restrictions</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFees = <span class="keyword">false</span>;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lChangeFeeDisutility = 30;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> lNonRefundable = <span class="keyword">false</span>;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lNonRefundableDisutility = 50;</div> <div class="line"></div> <div class="line"> <span class="comment">// Creation of the booking request structure</span></div> <div class="line"> BookingRequestStruct oBookingRequest (lOrigin, lDestination, lPOS,</div> <div class="line"> lPreferredDepartureDate,</div> <div class="line"> lRequestDateTime,</div> <div class="line"> lPreferredCabin,</div> <div class="line"> lPartySize, lChannel,</div> <div class="line"> lTripType, lStayDuration,</div> <div class="line"> lFrequentFlyerType,</div> <div class="line"> lPreferredDepartureTime,</div> <div class="line"> lWTP, lValueOfTime,</div> <div class="line"> lChangeFees, lChangeFeeDisutility,</div> <div class="line"> lNonRefundable,</div> <div class="line"> lNonRefundableDisutility);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> oBookingRequest;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> BookingRequestStruct CmdBomManager::buildSampleBookingRequestForCRS() {</div> <div class="line"> <span class="comment">// Origin</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lOrigin (<a class="code" href="a00535.html#ac4e3ebe9a632e9e98ba337e6ef627593">AIRPORT_SIN</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Destination</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lDestination (<a class="code" href="a00535.html#a8cbcf6f39b3efdb4514fd53e5f60420a">AIRPORT_BKK</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Point of Sale (POS)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ae40f6b7ccf542e22817e0f4a4d5d9a38">CityCode_T</a> lPOS (<a class="code" href="a00535.html#a475c50f8c3434ce2b423a44ae02930c8">POS_SIN</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred departure date (30-JAN-2010)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lPreferredDepartureDate (2010, boost::gregorian::Jan, 30);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred departure time (10:00)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lPreferredDepartureTime (10, 0, 0);</div> <div class="line"></div> <div class="line"> <span class="comment">// Date of the request (22-JAN-2010)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lRequestDate (2010, boost::gregorian::Jan, 22);</div> <div class="line"></div> <div class="line"> <span class="comment">// Time of the request (10:00)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lRequestTime (10, 0, 0);</div> <div class="line"></div> <div class="line"> <span class="comment">// Date-time of the request (made of the date and time above)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a158c02e7885bcab624391189d7563c96">DateTime_T</a> lRequestDateTime (lRequestDate, lRequestTime);</div> <div class="line"></div> <div class="line"> <span class="comment">// Preferred cabin (also named class of service sometimes)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lPreferredCabin (<a class="code" href="a00535.html#a51c0834cb104fc28f6e2a5968105d019">CABIN_ECO</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Number of persons in the party</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a474d6775eb6e99cd3877248807335cca">PartySize_T</a> lPartySize (3);</div> <div class="line"></div> <div class="line"> <span class="comment">// Channel (direct/indirect, on-line/off-line)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3a2502a9ba99e5bfd61fd5a2aa9e6de0">ChannelLabel_T</a> lChannel (<a class="code" href="a00535.html#af39c23bd8d9a5aa95f75e7f997b5af25">CHANNEL_IN</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Type of the trip (one-way, inbound/outbound of a return trip)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3fc070ff94549282179c4e0e10213667">TripType_T</a> lTripType (<a class="code" href="a00535.html#a40edd65b6d6ec30e9dc836210b2eeea5">TRIP_TYPE_INBOUND</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Duration of the stay (expressed as a number of days)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> lStayDuration (<a class="code" href="a00535.html#a8f658fc38968c51a2288af40cf3dfa86">DEFAULT_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Frequent flyer tier (member, silver, gold, platinum, senator, etc)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a77e7582d7cd3bdb95c08e1011dd25359">FrequentFlyer_T</a> lFrequentFlyerType (<a class="code" href="a00535.html#aaf09a84f6fa3873b6c2fcf68c8ecd951">FREQUENT_FLYER_MEMBER</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Maximum willing-to-pay (WTP, expressed in monetary unit, e.g., EUR)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP (<a class="code" href="a00535.html#a1ff2f7327a614d145fbe55ae5e24bdff">DEFAULT_WTP</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Value of time, for the customer (expressed in monetary unit per</span></div> <div class="line"> <span class="comment">// unit of time, e.g., EUR/hour)</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2fa5b378f892db246eab1e14126a66a2">PriceValue_T</a> lValueOfTime (<a class="code" href="a00535.html#a718e840a1e0255d13d19152961cd98b0">DEFAULT_VALUE_OF_TIME</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Restrictions</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFees = <span class="keyword">true</span>;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lChangeFeeDisutility = 50;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> lNonRefundable = <span class="keyword">true</span>;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lNonRefundableDisutility = 50;</div> <div class="line"> </div> <div class="line"> <span class="comment">// Creation of the booking request structure</span></div> <div class="line"> BookingRequestStruct oBookingRequest (lOrigin,</div> <div class="line"> lDestination,</div> <div class="line"> lPOS,</div> <div class="line"> lPreferredDepartureDate,</div> <div class="line"> lRequestDateTime,</div> <div class="line"> lPreferredCabin,</div> <div class="line"> lPartySize, lChannel,</div> <div class="line"> lTripType, lStayDuration,</div> <div class="line"> lFrequentFlyerType,</div> <div class="line"> lPreferredDepartureTime,</div> <div class="line"> lWTP, lValueOfTime,</div> <div class="line"> lChangeFees, lChangeFeeDisutility,</div> <div class="line"> lNonRefundable,</div> <div class="line"> lNonRefundableDisutility);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> oBookingRequest;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::</div> <div class="line"> buildPartnershipsSampleInventoryAndRM (BomRoot& ioBomRoot) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.1: Inventory level</span></div> <div class="line"> <span class="comment">// Create an Inventory for SQ</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeSQ (<span class="stringliteral">"SQ"</span>);</div> <div class="line"> <span class="keyword">const</span> InventoryKey lSQKey (lAirlineCodeSQ);</div> <div class="line"> Inventory& lSQInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<Inventory>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSQInv);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSQInv);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the airline feature object to the SQ inventory</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureSQKey (lAirlineCodeSQ);</div> <div class="line"> AirlineFeature& lAirlineFeatureSQ =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineFeature>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureSQKey);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lSQInv, lAirlineFeatureSQ);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lAirlineFeatureSQ);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureSQ);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create an Inventory for CX</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeCX (<span class="stringliteral">"CX"</span>);</div> <div class="line"> <span class="keyword">const</span> InventoryKey lCXKey (lAirlineCodeCX);</div> <div class="line"> Inventory& lCXInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<Inventory>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lCXInv);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lCXInv);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the airline feature object to the CX inventory</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureCXKey (lAirlineCodeCX);</div> <div class="line"> AirlineFeature& lAirlineFeatureCX =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineFeature>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureCXKey);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lCXInv, lAirlineFeatureCX);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lAirlineFeatureCX);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureCX);</div> <div class="line"> </div> <div class="line"> <span class="comment">// ////// SQ /////// </span></div> <div class="line"> <span class="comment">// Step 0.2: Flight-date level</span></div> <div class="line"> <span class="comment">// Create a FlightDate (SQ11/08-MAR-2010) for SQ's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber = 11;</div> <div class="line"> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2010, 3, 8);</div> <div class="line"> FlightDateKey lFlightDateKey (lFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lSQ11_20100308_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ11_20100308_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ11_20100308_FD);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a (mkt) FlightDate (SQ1200/08-MAR-2010) for SQ's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lMktFlightNumber = 1200;</div> <div class="line"> <span class="comment">//lDate = Date_T (2010, 3, 8);</span></div> <div class="line"> FlightDateKey lMktFlightDateKey (lMktFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lSQ1200_20100308_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ1200_20100308_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ1200_20100308_FD);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the flight-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FlightDate: " << lBA9_20110610_FD.toString());</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.3: Segment-date level</span></div> <div class="line"> <span class="comment">// Create a first SegmentDate (SIN-BKK) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSIN (<span class="stringliteral">"SIN"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">"BKK"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l1Day (1);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l2Days (2);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0820 (8, 20, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1100 (11, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0340 (3, 40, 0);</div> <div class="line"> SegmentDateKey lSegmentDateKey (lSIN, lBKK);</div> <div class="line"></div> <div class="line"> SegmentDate& lSINBKKSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11_20100308_FD, lSINBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11_20100308_FD, lSINBKKSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the SIN-BKK segment.</span></div> <div class="line"> <span class="keyword">const</span> std::string lSQSINRoutingLegStr = <span class="stringliteral">"SQ;11;2010-Mar-8;SIN"</span>;</div> <div class="line"> lSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lSINBKKSegment.setBoardingDate (lDate);</div> <div class="line"> lSINBKKSegment.setOffDate (lDate);</div> <div class="line"> lSINBKKSegment.setBoardingTime (l0820);</div> <div class="line"> lSINBKKSegment.setOffTime (l1100);</div> <div class="line"> lSINBKKSegment.setElapsedTime (l0340);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a second (mkt) SegmentDate (BKK-HKG) for SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lHKG (<span class="stringliteral">"HKG"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1200 (12, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1540 (15, 40, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0240 (2, 40, 0);</div> <div class="line"> SegmentDateKey lMktSegmentDateKey (lBKK, lHKG);</div> <div class="line"></div> <div class="line"> SegmentDate& lMktBKKHKGSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ1200_20100308_FD, lMktBKKHKGSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ1200_20100308_FD, lMktBKKHKGSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key CX;12;2010-Mar-8;BKK to the marketing</span></div> <div class="line"> <span class="comment">// SQ;1200;2010-Mar-8;BKK-HKG segment.</span></div> <div class="line"> <span class="keyword">const</span> std::string lCXBKKRoutingLegStr = <span class="stringliteral">"CX;12;2010-Mar-8;BKK"</span>;</div> <div class="line"> lMktBKKHKGSegment.addLegKey (lCXBKKRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the (mkt) SegmentDate content</span></div> <div class="line"> lMktBKKHKGSegment.setBoardingDate (lDate);</div> <div class="line"> lMktBKKHKGSegment.setOffDate (lDate);</div> <div class="line"> lMktBKKHKGSegment.setBoardingTime (l1200);</div> <div class="line"> lMktBKKHKGSegment.setOffTime (l1540);</div> <div class="line"> lMktBKKHKGSegment.setElapsedTime (l0240);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.4: Leg-date level</span></div> <div class="line"> <span class="comment">// Create a first LegDate (SIN) for SQ's Inventory</span></div> <div class="line"> LegDateKey lLegDateKey (lSIN);</div> <div class="line"></div> <div class="line"> LegDate& lSINLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11_20100308_FD, lSINLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11_20100308_FD, lSINLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lSINLeg.setOffPoint (lBKK);</div> <div class="line"> lSINLeg.setBoardingDate (lDate);</div> <div class="line"> lSINLeg.setOffDate (lDate);</div> <div class="line"> lSINLeg.setBoardingTime (l0820);</div> <div class="line"> lSINLeg.setOffTime (l1100);</div> <div class="line"> lSINLeg.setElapsedTime (l0340);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.5: segment-cabin level</span></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the Segment SIN-BKK of SQ's Inventory</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">"Y"</span>);</div> <div class="line"> SegmentCabinKey lYSegmentCabinKey (lY);</div> <div class="line"></div> <div class="line"> SegmentCabin& lSINBKKSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the (mkt) Segment BKK-HKG of SQ's Inventory</span></div> <div class="line"> SegmentCabin& lMktBKKHKGSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment, lMktBKKHKGSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegment, lMktBKKHKGSegmentYCabin);</div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.6: leg-cabin level</span></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg SIN-BKK on SQ's Inventory</span></div> <div class="line"> LegCabinKey lYLegCabinKey (lY);</div> <div class="line"></div> <div class="line"> LegCabin& lSINLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINLeg, lSINLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINLeg, lSINLegYCabin);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity (100);</div> <div class="line"> lSINLegYCabin.setCapacities (lCapacity);</div> <div class="line"> lSINLegYCabin.setAvailabilityPool (lCapacity);</div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.7: fare family level</span></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the Segment SIN-BKK, cabin Y on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">"EcoSaver"</span>);</div> <div class="line"> FareFamilyKey l1FareFamilyKey (l1);</div> <div class="line"></div> <div class="line"> FareFamily& lSINBKKSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the (mkt) Segment BKK-HKG, cabin Y on SQ's Inv</span></div> <div class="line"> FareFamily& lMktBKKHKGSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div> <div class="line"> lMktBKKHKGSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin,</div> <div class="line"> lMktBKKHKGSegmentYCabin1Family);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.8: booking class level</span></div> <div class="line"> <span class="comment">// Create a BookingClass (Y) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> BookingClassKey lYBookingClassKey (lY);</div> <div class="line"></div> <div class="line"> BookingClass& lSINBKKSegmentYCabin1FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> lSINBKKSegmentYCabin1FamilyYClass.setYield(700);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (Y) for the (mkt) Segment BKK-HKG, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> BookingClass& lMktBKKHKGSegmentYCabin1FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin1Family,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin1Family,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyYClass.setYield(700);</div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create a BookingClass (M) for the Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lM (<span class="stringliteral">"M"</span>);</div> <div class="line"> BookingClassKey lMBookingClassKey (lM);</div> <div class="line"></div> <div class="line"> BookingClass& lSINBKKSegmentYCabin1FamilyMClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> lSINBKKSegmentYCabin1FamilyMClass.setYield(500);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (M) for the (mkt) Segment BKK-HKG, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on SQ's Inv</span></div> <div class="line"> BookingClass& lMktBKKHKGSegmentYCabin1FamilyMClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin1Family,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin1Family,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment,</div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> lMktBKKHKGSegmentYCabin1FamilyMClass.setYield(500);</div> <div class="line"> </div> <div class="line"> <span class="comment">/* =================================================================================== */</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 1.0: O&D level</span></div> <div class="line"> <span class="comment">// Create an O&D Date (SQ11/08-MAR-2010/SIN-BKK-SQ1200/08-MAR-2010/BKK-HKG)</span></div> <div class="line"> <span class="comment">// for SQ's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lSQSINBKKOnDStr = <span class="stringliteral">"SQ;11,2010-Mar-08;SIN,BKK"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lMktSQBKKHKGOnDStr = <span class="stringliteral">"SQ;1200,2010-Mar-08;BKK,HKG"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lOnDStringList;</div> <div class="line"> lOnDStringList.push_back (lSQSINBKKOnDStr);</div> <div class="line"> lOnDStringList.push_back (lMktSQBKKHKGOnDStr);</div> <div class="line"></div> <div class="line"> OnDDateKey lOnDDateKey (lOnDStringList);</div> <div class="line"> OnDDate& lSQ_SINHKG_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINHKG_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINHKG_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segments</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINHKG_OnDDate, lSINBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINHKG_OnDDate, lMktBKKHKGSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean60StdDev6 (60.0, 6.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP750 = 750.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP750Mean60StdDev6 (lWTP750, lMean60StdDev6);</div> <div class="line"> lSQ_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add demand info (optional).</span></div> <div class="line"> <span class="comment">// 2 legs here, so 2 CabinClassPair to add in the list.</span></div> <div class="line"> <span class="comment">// Fist leg: cabin Y, class M.</span></div> <div class="line"> <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YM1 (lY,lM);</div> <div class="line"> <span class="comment">// Second leg: cabin Y, class M too.</span></div> <div class="line"> <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YM2 (lY,lM);</div> <div class="line"> <a class="code" href="a00535.html#a9dccfd1fab140d3d8202b352574ad06f">CabinClassPairList_T</a> lCabinClassPairList;</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM1);</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM2);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean20StdDev2 (20.0, 2.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield850 = 850.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield850Mean20StdDev2 (lYield850, lMean20StdDev2);</div> <div class="line"> lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield850Mean20StdDev2);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YY1 (lY,lY);</div> <div class="line"> <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YY2 (lY,lY);</div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY1);</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY2);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean10StdDev1 (10.0, 1.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield1200 = 1200.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield1200Mean10StdDev1 (lYield1200, </div> <div class="line"> lMean10StdDev1);</div> <div class="line"> lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield1200Mean10StdDev1);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create an O&D Date (SQ11/08-MAR-2010/SIN-BKK) for SQ's Inventory</span></div> <div class="line"> lOnDStringList.clear();</div> <div class="line"> lOnDStringList.push_back (lSQSINBKKOnDStr);</div> <div class="line"></div> <div class="line"> lOnDDateKey = OnDDateKey(lOnDStringList);</div> <div class="line"> OnDDate& lSQ_SINBKK_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINBKK_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINBKK_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segments</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINBKK_OnDDate, lSINBKKSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP400 = 400.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP400Mean60StdDev6 (lWTP400, lMean60StdDev6);</div> <div class="line"> lSQ_SINBKK_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add demand info (optional).</span></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM1);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean20StdDev1 (20.0, 1.0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield500 = 500.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield500Mean20StdDev1 (lYield500, lMean20StdDev1);</div> <div class="line"> lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield500Mean20StdDev1);</div> <div class="line"></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY1);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield700 = 700.0;</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield700Mean20StdDev1 (lYield700, lMean10StdDev1 );</div> <div class="line"> lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield700Mean20StdDev1);</div> <div class="line"></div> <div class="line"> <span class="comment">/*******************************************************************************</span></div> <div class="line"><span class="comment"> // Create an O&D Date (SQ1200/08-MAR-2010/BKK-HKG) for SQ's Inventory</span></div> <div class="line"><span class="comment"> lFullKeyList.clear();</span></div> <div class="line"><span class="comment"> lFullKeyList.push_back (lMktSQBKKHKGFullKeyStr);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> lOnDDateKey = OnDDateKey(lFullKeyList);</span></div> <div class="line"><span class="comment"> OnDDate& lMktSQ_BKKHKG_OnDDate =</span></div> <div class="line"><span class="comment"> FacBom<OnDDate>::instance().create (lOnDDateKey);</span></div> <div class="line"><span class="comment"> // Link to the inventory</span></div> <div class="line"><span class="comment"> FacBomManager::addToListAndMap (lSQInv, lMktSQ_BKKHKG_OnDDate);</span></div> <div class="line"><span class="comment"> FacBomManager::linkWithParent (lSQInv, lMktSQ_BKKHKG_OnDDate);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> // Add the segments</span></div> <div class="line"><span class="comment"> FacBomManager::addToListAndMap (lMktSQ_BKKHKG_OnDDate, lMktBKKHKGSegment);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> // Demand info is not added for purely marketed O&Ds</span></div> <div class="line"><span class="comment"> // Add demand info</span></div> <div class="line"><span class="comment"> // lCabinClassPairList.clear();</span></div> <div class="line"><span class="comment"> // lCabinClassPairList.push_back(lCC_YM2);</span></div> <div class="line"><span class="comment"> // lMktSQ_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, 500.0, 20.0, 1.0);</span></div> <div class="line"><span class="comment"> ***********************************************************************************/</span></div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// ////// CX /////// </span></div> <div class="line"> <span class="comment">// Step 0.2: Flight-date level</span></div> <div class="line"> <span class="comment">// Create a FlightDate (CX12/08-MAR-2010) for CX's Inventory</span></div> <div class="line"> lFlightNumber = 12;</div> <div class="line"> <span class="comment">//lDate = Date_T (2010, 2, 8);</span></div> <div class="line"> lFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lCX12_20100308_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX12_20100308_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX12_20100308_FD);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a (mkt) FlightDate (CX1100/08-FEB-2010) for CX's Inventory</span></div> <div class="line"> lFlightNumber = 1100;</div> <div class="line"> <span class="comment">//lDate = Date_T (2010, 2, 8);</span></div> <div class="line"> lMktFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div> <div class="line"></div> <div class="line"> FlightDate& lCX1100_20100308_FD =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktFlightDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX1100_20100308_FD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX1100_20100308_FD);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Display the flight-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("FlightDate: " << lAF084_20110320_FD.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.3: Segment-date level</span></div> <div class="line"> <span class="comment">// Create a SegmentDate BKK-HKG for CX's Inventory</span></div> <div class="line"> </div> <div class="line"> lSegmentDateKey = SegmentDateKey (lBKK, lHKG);</div> <div class="line"></div> <div class="line"> SegmentDate& lBKKHKGSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12_20100308_FD, lBKKHKGSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12_20100308_FD, lBKKHKGSegment); </div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key to the marketing BKK-HKG segment.</span></div> <div class="line"> lBKKHKGSegment.addLegKey (lCXBKKRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the SegmentDate content</span></div> <div class="line"> lBKKHKGSegment.setBoardingDate (lDate);</div> <div class="line"> lBKKHKGSegment.setOffDate (lDate);</div> <div class="line"> lBKKHKGSegment.setBoardingTime (l1200);</div> <div class="line"> lBKKHKGSegment.setOffTime (l1540);</div> <div class="line"> lBKKHKGSegment.setElapsedTime (l0240);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a second (mkt) SegmentDate (SIN-BKK) for CX's Inventory</span></div> <div class="line"> lMktSegmentDateKey = SegmentDateKey (lSIN, lBKK);</div> <div class="line"></div> <div class="line"> SegmentDate& lMktSINBKKSegment =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktSegmentDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX1100_20100308_FD, lMktSINBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX1100_20100308_FD, lMktSINBKKSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the routing leg key SQ;11;2010-Mar-8;SIN to the marketing</span></div> <div class="line"> <span class="comment">// CX;1100;2010-Mar-8;SIN-BKK segment.</span></div> <div class="line"> lMktSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the (mkt) SegmentDate content</span></div> <div class="line"> lMktSINBKKSegment.setBoardingDate (lDate);</div> <div class="line"> lMktSINBKKSegment.setOffDate (lDate);</div> <div class="line"> lMktSINBKKSegment.setBoardingTime (l0820);</div> <div class="line"> lMktSINBKKSegment.setOffTime (l1100);</div> <div class="line"> lMktSINBKKSegment.setElapsedTime (l0340);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.4: Leg-date level</span></div> <div class="line"> <span class="comment">// Create a LegDate (BKK) for CX's Inventory</span></div> <div class="line"> lLegDateKey = LegDateKey (lBKK);</div> <div class="line"></div> <div class="line"> LegDate& lBKKLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12_20100308_FD, lBKKLeg);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12_20100308_FD, lBKKLeg);</div> <div class="line"></div> <div class="line"> <span class="comment">// Fill the LegDate content</span></div> <div class="line"> lBKKLeg.setOffPoint (lHKG);</div> <div class="line"> lBKKLeg.setBoardingDate (lDate);</div> <div class="line"> lBKKLeg.setOffDate (lDate);</div> <div class="line"> lBKKLeg.setBoardingTime (l1200);</div> <div class="line"> lBKKLeg.setOffTime (l1540);</div> <div class="line"> lBKKLeg.setElapsedTime (l0240);</div> <div class="line"></div> <div class="line"> <span class="comment">// Display the leg-date</span></div> <div class="line"> <span class="comment">// STDAIR_LOG_DEBUG ("LegDate: " << lCDGLeg.toString());</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.5: segment-cabin level</span></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the Segment BKK-HKG of CX's Inventory</span></div> <div class="line"> SegmentCabin& lBKKHKGSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment, lBKKHKGSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegment, lBKKHKGSegmentYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a SegmentCabin (Y) for the (mkt) Segment SIN-BKK of CX's Inventory</span></div> <div class="line"> SegmentCabin& lMktSINBKKSegmentYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment, lMktSINBKKSegmentYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegment, lMktSINBKKSegmentYCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.6: leg-cabin level</span></div> <div class="line"> <span class="comment">// Create a LegCabin (Y) for the Leg BKK-HKG on CX's Inventory</span></div> <div class="line"> LegCabin& lBKKLegYCabin =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<LegCabin>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKLeg, lBKKLegYCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKLeg, lBKKLegYCabin);</div> <div class="line"></div> <div class="line"> lCapacity = <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a>(100);</div> <div class="line"> lBKKLegYCabin.setCapacities (lCapacity);</div> <div class="line"> lBKKLegYCabin.setAvailabilityPool (lCapacity);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 0.7: fare family level</span></div> <div class="line"> <span class="comment">// Create a fareFamily (1) for the Segment BKK-HKG, cabin Y on CX's Inv</span></div> <div class="line"> FareFamily& lBKKHKGSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div> <div class="line"> lBKKHKGSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin,</div> <div class="line"> lBKKHKGSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a FareFamily (1) for the (mkt) Segment SIN-BKK, cabin Y on CX's Inv</span></div> <div class="line"> FareFamily& lMktSINBKKSegmentYCabin1Family =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFamily>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div> <div class="line"> lMktSINBKKSegmentYCabin1Family);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin,</div> <div class="line"> lMktSINBKKSegmentYCabin1Family);</div> <div class="line"></div> <div class="line"> </div> <div class="line"> <span class="comment">// Step 0.8: booking class level</span></div> <div class="line"> <span class="comment">// Create a BookingClass (Y) for the</span></div> <div class="line"> <span class="comment">// Segment BKK-HKG, cabin Y, fare family 1 on CX's Inv</span></div> <div class="line"> BookingClass& lBKKHKGSegmentYCabin1FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin1Family,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin1Family,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> lBKKHKGSegmentYCabin1FamilyYClass.setYield(700);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (Y) for the (mkt) Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on CX's Inv</span></div> <div class="line"> BookingClass& lMktSINBKKSegmentYCabin1FamilyYClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin1Family,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin1Family,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyYClass);</div> <div class="line"></div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyYClass.setYield(700);</div> <div class="line"> </div> <div class="line"> <span class="comment">//Create a BookingClass (M) for the</span></div> <div class="line"> <span class="comment">// Segment BKK-HKG, cabin Y, fare family 1 on CX's Inv</span></div> <div class="line"> BookingClass& lBKKHKGSegmentYCabin1FamilyMClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin1Family,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin1Family,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment,</div> <div class="line"> lBKKHKGSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> lBKKHKGSegmentYCabin1FamilyMClass.setYield(500);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create a BookingClass (M) for the (mkt) Segment SIN-BKK, cabin Y,</span></div> <div class="line"> <span class="comment">// fare family 1 on CX's Inv</span></div> <div class="line"> BookingClass& lMktSINBKKSegmentYCabin1FamilyMClass =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<BookingClass>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin1Family,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin1Family,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment,</div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyMClass);</div> <div class="line"></div> <div class="line"> lMktSINBKKSegmentYCabin1FamilyMClass.setYield(500);</div> <div class="line"></div> <div class="line"> <span class="comment">/* =================================================================================== */</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Step 1.0: O&D level</span></div> <div class="line"> <span class="comment">// Create an O&D Date (CX1100/08-MAR-2010/SIN-BKK-CX12/08-MAR-2010/BKK-HKG) for CX's Inventory</span></div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lMktCXSINBKKOnDStr = <span class="stringliteral">"CX;1100,2010-Mar-08;SIN,BKK"</span>;</div> <div class="line"> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lCXBKKHKGOnDStr = <span class="stringliteral">"CX;12,2010-Mar-08;BKK,HKG"</span>;</div> <div class="line"> lOnDStringList.clear();</div> <div class="line"> lOnDStringList.push_back (lMktCXSINBKKOnDStr);</div> <div class="line"> lOnDStringList.push_back (lCXBKKHKGOnDStr);</div> <div class="line"></div> <div class="line"> lOnDDateKey = OnDDateKey(lOnDStringList);</div> <div class="line"> OnDDate& lCX_SINHKG_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX_SINHKG_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX_SINHKG_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segments</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_SINHKG_OnDDate, lMktSINBKKSegment);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_SINHKG_OnDDate, lBKKHKGSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> lCX_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Add demand info</span></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM1);</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM2);</div> <div class="line"> lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield850Mean20StdDev2);</div> <div class="line"></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY1);</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY2);</div> <div class="line"> lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield1200Mean10StdDev1);</div> <div class="line"></div> <div class="line"> <span class="comment">/***********************************************************************************</span></div> <div class="line"><span class="comment"> // Create an O&D Date (CX1100/08-MAR-2010/SIN-BKK) for CX's Inventory</span></div> <div class="line"><span class="comment"> lFullKeyList.clear();</span></div> <div class="line"><span class="comment"> lFullKeyList.push_back (lMktCXSINBKKFullKeyStr);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> lOnDDateKey = OnDDateKey(lFullKeyList);</span></div> <div class="line"><span class="comment"> OnDDate& lMktCX_SINBKK_OnDDate =</span></div> <div class="line"><span class="comment"> FacBom<OnDDate>::instance().create (lOnDDateKey);</span></div> <div class="line"><span class="comment"> // Link to the inventory</span></div> <div class="line"><span class="comment"> FacBomManager::addToListAndMap (lCXInv, lMktCX_SINBKK_OnDDate);</span></div> <div class="line"><span class="comment"> FacBomManager::linkWithParent (lCXInv, lMktCX_SINBKK_OnDDate);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> // Add the segments</span></div> <div class="line"><span class="comment"> FacBomManager::addToListAndMap (lMktCX_SINBKK_OnDDate, lMktSINBKKSegment);</span></div> <div class="line"><span class="comment"></span></div> <div class="line"><span class="comment"> // Demand info is not added for purely marketed O&Ds</span></div> <div class="line"><span class="comment"> // Add demand info</span></div> <div class="line"><span class="comment"> // lCabinClassPairList.clear();</span></div> <div class="line"><span class="comment"> // lCabinClassPairList.push_back(lCC_YM1);</span></div> <div class="line"><span class="comment"> // lMktCX_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, 500.0, 20.0, 1.0);</span></div> <div class="line"><span class="comment"> *************************************************************************************/</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create an O&D Date (CX12/08-FEB-2010/BKK-HKG) for CX's Inventory</span></div> <div class="line"> lOnDStringList.clear();</div> <div class="line"> lOnDStringList.push_back (lCXBKKHKGOnDStr);</div> <div class="line"></div> <div class="line"> lOnDDateKey = OnDDateKey(lOnDStringList);</div> <div class="line"> OnDDate& lCX_BKKHKG_OnDDate =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<OnDDate>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div> <div class="line"> <span class="comment">// Link to the inventory</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX_BKKHKG_OnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX_BKKHKG_OnDDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add the segments</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_BKKHKG_OnDDate, lBKKHKGSegment);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add total forecast info for cabin Y.</span></div> <div class="line"> lCX_BKKHKG_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);</div> <div class="line"></div> <div class="line"> <span class="comment">// Add demand info</span></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YM2);</div> <div class="line"> lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield500Mean20StdDev1);</div> <div class="line"></div> <div class="line"> lCabinClassPairList.clear();</div> <div class="line"> lCabinClassPairList.push_back(lCC_YY2);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield700Mean10StdDev1 (lYield700, lMean10StdDev1 );</div> <div class="line"> lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div> <div class="line"> lYield700Mean10StdDev1);</div> <div class="line"></div> <div class="line"> <span class="comment">/*================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================</span></div> <div class="line"><span class="comment"> ================================================================================*/</span></div> <div class="line"> <span class="comment">// Schedule:</span></div> <div class="line"> <span class="comment">// SQ:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for SQ11:</span></div> <div class="line"> <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">"1111111"</span>);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Mar, 8);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2010, boost::gregorian::Mar, 9);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDatePeriod (lDateRangeStart, lDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> PeriodStruct lPeriodStruct (lDatePeriod,lDoWSrtuct);</div> <div class="line"></div> <div class="line"> lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (11);</div> <div class="line"></div> <div class="line"> FlightPeriodKey lFlightPeriodKey (lFlightNumber, lPeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lSQ11FlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ11FlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ11FlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period for SIN-BKK:</span></div> <div class="line"></div> <div class="line"> SegmentPeriodKey lSegmentPeriodKey (lSIN, lBKK);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lSINBKKSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11FlightPeriod, lSINBKKSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11FlightPeriod, lSINBKKSegmentPeriod);</div> <div class="line"></div> <div class="line"> lSINBKKSegmentPeriod.setBoardingTime (l0820);</div> <div class="line"> lSINBKKSegmentPeriod.setOffTime (l1100);</div> <div class="line"> lSINBKKSegmentPeriod.setElapsedTime (l0340);</div> <div class="line"> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYM (<span class="stringliteral">"YM"</span>);</div> <div class="line"> lSINBKKSegmentPeriod.addCabinBookingClassList (lY,lYM);</div> <div class="line"></div> <div class="line"> <span class="comment">// CX:</span></div> <div class="line"> <span class="comment">// Step 1: flight period level</span></div> <div class="line"> <span class="comment">// Create a flight period for CX12: </span></div> <div class="line"> lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (12);</div> <div class="line"></div> <div class="line"> lFlightPeriodKey = FlightPeriodKey(lFlightNumber, lPeriodStruct);</div> <div class="line"></div> <div class="line"> FlightPeriod& lCX12FlightPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FlightPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX12FlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX12FlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Step 2: segment period level</span></div> <div class="line"> <span class="comment">// Create a segment period for BKK-HKG:</span></div> <div class="line"></div> <div class="line"> lSegmentPeriodKey = SegmentPeriodKey (lBKK, lHKG);</div> <div class="line"></div> <div class="line"> SegmentPeriod& lBKKHKGSegmentPeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<SegmentPeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentPeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12FlightPeriod, lBKKHKGSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12FlightPeriod, lBKKHKGSegmentPeriod);</div> <div class="line"></div> <div class="line"> lBKKHKGSegmentPeriod.setBoardingTime (l1200);</div> <div class="line"> lBKKHKGSegmentPeriod.setOffTime (l1540);</div> <div class="line"> lBKKHKGSegmentPeriod.setElapsedTime (l0240);</div> <div class="line"> lBKKHKGSegmentPeriod.addCabinBookingClassList (lY,lYM);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdBomManager::buildPartnershipsSamplePricing (BomRoot& ioBomRoot) {</div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"> <span class="comment">// First airport pair SIN-BKK.</span></div> <div class="line"> <span class="comment">// Set the airport-pair primary key.</span></div> <div class="line"> AirportPairKey lAirportPairKey (<span class="stringliteral">"SIN"</span>, <span class="stringliteral">"BKK"</span>);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div> <div class="line"> AirportPair& lSINBKKAirportPair =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirportPair>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSINBKKAirportPair);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSINBKKAirportPair);</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare date-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Mar, 01);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2010, boost::gregorian::Mar, 31);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div> <div class="line"> <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div> <div class="line"> DatePeriod& lSINBKKDatePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<DatePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKAirportPair, lSINBKKDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKAirportPair, lSINBKKDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> PosChannelKey lPosChannelKey (<span class="stringliteral">"SIN"</span>,<span class="stringliteral">"IN"</span>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lSINPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKDatePeriod, lSINPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKDatePeriod, lSINPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the fare time-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div> <div class="line"> <span class="keyword">const</span> TimePeriodKey lFareTimePeriodKey (lTimeRangeStart,</div> <div class="line"> lTimeRangeEnd);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lSINBKKFareTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINPosChannel, lSINBKKFareTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINPosChannel, lSINBKKFareTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the FareRule</span></div> <div class="line"> <span class="keyword">const</span> FareFeaturesKey lFareFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div> <div class="line"> <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div> <div class="line"> <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lSINBKKFareFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareTimePeriod, lSINBKKFareFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareTimePeriod, lSINBKKFareFeatures);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div> <div class="line"> <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lSQAirlineCodeList;</div> <div class="line"> lSQAirlineCodeList.push_back (<span class="stringliteral">"SQ"</span>);</div> <div class="line"> </div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lYClassCodeList;</div> <div class="line"> lYClassCodeList.push_back (<span class="stringliteral">"Y"</span>); </div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lSQAirlineYClassListKey (lSQAirlineCodeList,</div> <div class="line"> lYClassCodeList);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lMClassCodeList;</div> <div class="line"> lMClassCodeList.push_back (<span class="stringliteral">"M"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lSQAirlineMClassListKey (lSQAirlineCodeList,</div> <div class="line"> lMClassCodeList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div> <div class="line"> AirlineClassList& lSQAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineYClassListKey);</div> <div class="line"> lSQAirlineYClassList.setFare(700);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareFeatures, lSQAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareFeatures, lSQAirlineYClassList);</div> <div class="line"></div> <div class="line"> AirlineClassList& lSQAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineMClassListKey);</div> <div class="line"> lSQAirlineMClassList.setFare(500);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareFeatures, lSQAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareFeatures, lSQAirlineMClassList);</div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"> <span class="comment">// Second airport pair BKK-HKG.</span></div> <div class="line"> <span class="comment">// Set the airport-pair primary key.</span></div> <div class="line"> lAirportPairKey = AirportPairKey (<span class="stringliteral">"BKK"</span>, <span class="stringliteral">"HKG"</span>);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div> <div class="line"> AirportPair& lBKKHKGAirportPair =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirportPair>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lBKKHKGAirportPair);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lBKKHKGAirportPair);</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare date-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div> <div class="line"> DatePeriod& lBKKHKGDatePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<DatePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGAirportPair, lBKKHKGDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGAirportPair, lBKKHKGDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> lPosChannelKey = PosChannelKey(<span class="stringliteral">"BKK"</span>,<span class="stringliteral">"IN"</span>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lBKKPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGDatePeriod, lBKKPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGDatePeriod, lBKKPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the fare time-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lBKKHKGFareTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKPosChannel, lBKKHKGFareTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKPosChannel, lBKKHKGFareTimePeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the FareRule</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lBKKHKGFareFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareTimePeriod, lBKKHKGFareFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareTimePeriod, lBKKHKGFareFeatures);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div> <div class="line"> <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lCXAirlineCodeList;</div> <div class="line"> lCXAirlineCodeList.push_back (<span class="stringliteral">"CX"</span>);</div> <div class="line"> </div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lCXAirlineYClassListKey (lCXAirlineCodeList,</div> <div class="line"> lYClassCodeList);</div> <div class="line"></div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lCXAirlineMClassListKey (lCXAirlineCodeList,</div> <div class="line"> lMClassCodeList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div> <div class="line"> AirlineClassList& lCXAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineYClassListKey);</div> <div class="line"> lCXAirlineYClassList.setFare(700);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareFeatures, lCXAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareFeatures, lCXAirlineYClassList);</div> <div class="line"> </div> <div class="line"> AirlineClassList& lCXAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineMClassListKey);</div> <div class="line"> lCXAirlineMClassList.setFare(500);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareFeatures, lCXAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareFeatures, lCXAirlineMClassList);</div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"> <span class="comment">// Third airport pair SIN-HKG.</span></div> <div class="line"> <span class="comment">// Set the airport-pair primary key.</span></div> <div class="line"> lAirportPairKey = AirportPairKey (<span class="stringliteral">"SIN"</span>, <span class="stringliteral">"HKG"</span>);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div> <div class="line"> AirportPair& lSINHKGAirportPair =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirportPair>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSINHKGAirportPair);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSINHKGAirportPair);</div> <div class="line"></div> <div class="line"> <span class="comment">// Set the fare date-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div> <div class="line"> DatePeriod& lSINHKGDatePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<DatePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGAirportPair, lSINHKGDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGAirportPair, lSINHKGDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> lPosChannelKey = PosChannelKey(<span class="stringliteral">"SIN"</span>,<span class="stringliteral">"IN"</span>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lOnDSINPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGDatePeriod, lOnDSINPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGDatePeriod, lOnDSINPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the fare time-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lSINHKGFareTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lOnDSINPosChannel, lSINHKGFareTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lOnDSINPosChannel, lSINHKGFareTimePeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the FareRule</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> FareFeatures& lSINHKGFareFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<FareFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareTimePeriod, lSINHKGFareFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareTimePeriod, lSINHKGFareFeatures);</div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div> <div class="line"> <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lSQ_CXAirlineCodeList;</div> <div class="line"> lSQ_CXAirlineCodeList.push_back (<span class="stringliteral">"SQ"</span>);</div> <div class="line"> lSQ_CXAirlineCodeList.push_back (<span class="stringliteral">"CX"</span>);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lY_YClassCodeList;</div> <div class="line"> lY_YClassCodeList.push_back (<span class="stringliteral">"Y"</span>);</div> <div class="line"> lY_YClassCodeList.push_back (<span class="stringliteral">"Y"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lSQ_CXAirlineYClassListKey (lSQ_CXAirlineCodeList,</div> <div class="line"> lY_YClassCodeList);</div> <div class="line"></div> <div class="line"> <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lM_MClassCodeList;</div> <div class="line"> lM_MClassCodeList.push_back (<span class="stringliteral">"M"</span>);</div> <div class="line"> lM_MClassCodeList.push_back (<span class="stringliteral">"M"</span>);</div> <div class="line"> <span class="keyword">const</span> AirlineClassListKey lSQ_CXAirlineMClassListKey (lSQ_CXAirlineCodeList,</div> <div class="line"> lM_MClassCodeList);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div> <div class="line"> AirlineClassList& lSQ_CXAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineYClassListKey);</div> <div class="line"> lSQ_CXAirlineYClassList.setFare(1200);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareFeatures, </div> <div class="line"> lSQ_CXAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareFeatures, </div> <div class="line"> lSQ_CXAirlineYClassList);</div> <div class="line"> </div> <div class="line"> AirlineClassList& lSQ_CXAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineMClassListKey);</div> <div class="line"> lSQ_CXAirlineMClassList.setFare(850);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareFeatures, </div> <div class="line"> lSQ_CXAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareFeatures, </div> <div class="line"> lSQ_CXAirlineMClassList);</div> <div class="line"></div> <div class="line"></div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Use the same airport pair, and date period for adding SQ SIN-BKK yields.</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> lPosChannelKey = PosChannelKey(<a class="code" href="a00535.html#ab533ca102ec6088fd6b0aadd7f7d3561">DEFAULT_POS</a>, <a class="code" href="a00535.html#aa3635448b4a303bb5e2e6635433143aa">DEFAULT_CHANNEL</a>); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lRAC_SINBKKPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKDatePeriod, lRAC_SINBKKPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKDatePeriod, lRAC_SINBKKPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the yield time-period primary key.</span></div> <div class="line"> <span class="keyword">const</span> TimePeriodKey lYieldTimePeriodKey (lTimeRangeStart,</div> <div class="line"> lTimeRangeEnd);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lSINBKKYieldTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_SINBKKPosChannel, </div> <div class="line"> lSINBKKYieldTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_SINBKKPosChannel, </div> <div class="line"> lSINBKKYieldTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the YieldRule</span></div> <div class="line"> <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div> <div class="line"> <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div> <div class="line"></div> <div class="line"> <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> YieldFeatures& lSINBKKYieldFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<YieldFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldTimePeriod,</div> <div class="line"> lSINBKKYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldTimePeriod, </div> <div class="line"> lSINBKKYieldFeatures); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div> <div class="line"> AirlineClassList& lRAC_SQAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineYClassListKey);</div> <div class="line"> lRAC_SQAirlineYClassList.setYield(700);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldFeatures, </div> <div class="line"> lRAC_SQAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldFeatures, </div> <div class="line"> lRAC_SQAirlineYClassList);</div> <div class="line"></div> <div class="line"> AirlineClassList& lRAC_SQAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineMClassListKey);</div> <div class="line"> lRAC_SQAirlineMClassList.setYield(500);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldFeatures, </div> <div class="line"> lRAC_SQAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldFeatures, </div> <div class="line"> lRAC_SQAirlineMClassList);</div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Use the same airport pair, and date period for adding CX BKK-HKG yields. </span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lRAC_BKKHKGPosChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGDatePeriod, lRAC_BKKHKGPosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGDatePeriod, lRAC_BKKHKGPosChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the yield time-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lBKKHKGYieldTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_BKKHKGPosChannel, </div> <div class="line"> lBKKHKGYieldTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_BKKHKGPosChannel, </div> <div class="line"> lBKKHKGYieldTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the YieldRule</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> YieldFeatures& lBKKHKGYieldFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<YieldFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldTimePeriod, </div> <div class="line"> lBKKHKGYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldTimePeriod, </div> <div class="line"> lBKKHKGYieldFeatures); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div> <div class="line"> AirlineClassList& lRAC_CXAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineYClassListKey);</div> <div class="line"> lRAC_CXAirlineYClassList.setYield(700);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldFeatures, </div> <div class="line"> lRAC_CXAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldFeatures, </div> <div class="line"> lRAC_CXAirlineYClassList);</div> <div class="line"> </div> <div class="line"> AirlineClassList& lRAC_CXAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineMClassListKey);</div> <div class="line"> lRAC_CXAirlineMClassList.setYield(500);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldFeatures, </div> <div class="line"> lRAC_CXAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldFeatures, </div> <div class="line"> lRAC_CXAirlineMClassList);</div> <div class="line"></div> <div class="line"> <span class="comment">/*===================================================================================*/</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Use the same airport pair, and date period for SQ-CX SIN-HKG</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Set the point-of-sale-channel primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div> <div class="line"> PosChannel& lRAC_SINHKGChannel =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<PosChannel>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGDatePeriod, lRAC_SINHKGChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGDatePeriod, lRAC_SINHKGChannel);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Set the yield time-period primary key.</span></div> <div class="line"> <span class="comment">// Use the same as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div> <div class="line"> TimePeriod& lSINHKGYieldTimePeriod =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<TimePeriod>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_SINHKGChannel, lSINHKGYieldTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_SINHKGChannel, lSINHKGYieldTimePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate the YieldRule</span></div> <div class="line"> <span class="comment">// Use the same key as previously.</span></div> <div class="line"></div> <div class="line"> <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div> <div class="line"> YieldFeatures& lSINHKGYieldFeatures =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<YieldFeatures>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldTimePeriod, </div> <div class="line"> lSINHKGYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldTimePeriod, </div> <div class="line"> lSINHKGYieldFeatures); </div> <div class="line"></div> <div class="line"> <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div> <div class="line"> <span class="comment">// Use the same key as previously</span></div> <div class="line"> </div> <div class="line"> <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div> <div class="line"> AirlineClassList& lRAC_SQ_CXAirlineYClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineYClassListKey);</div> <div class="line"> lRAC_SQ_CXAirlineYClassList.setYield(1200);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldFeatures, </div> <div class="line"> lRAC_SQ_CXAirlineYClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldFeatures, </div> <div class="line"> lRAC_SQ_CXAirlineYClassList);</div> <div class="line"> </div> <div class="line"> AirlineClassList& lRAC_SQ_CXAirlineMClassList =</div> <div class="line"> <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom<AirlineClassList>::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineMClassListKey);</div> <div class="line"> lRAC_SQ_CXAirlineMClassList.setYield(850);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldFeatures, </div> <div class="line"> lRAC_SQ_CXAirlineMClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldFeatures, </div> <div class="line"> lRAC_SQ_CXAirlineMClassList);</div> <div class="line"> </div> <div class="line"> }</div> <div class="line"></div> <div class="line">}</div> <div class="line"></div> <div class="line"><span class="comment">/*!</span></div> </div><!-- fragment --><div class="fragment"><div class="line"> */</div> <div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"><span class="comment">// Import section</span></div> <div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div> <div class="line"><span class="comment">// STL</span></div> <div class="line"><span class="preprocessor">#include <cassert></span></div> <div class="line"><span class="preprocessor">#include <sstream></span></div> <div class="line"><span class="comment">// StdAir</span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00488.html">stdair/factory/FacBomManager.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00489.html">stdair/factory/FacCloneBom.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00476.html">stdair/command/CmdCloneBomManager.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00499.html">stdair/service/Logger.hpp</a>></span></div> <div class="line"><span class="preprocessor">#include <<a class="code" href="a00309.html">stdair/bom/BomRetriever.hpp</a>></span></div> <div class="line"></div> <div class="line"><span class="keyword">namespace </span>stdair { </div> <div class="line"> </div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdCloneBomManager::cloneBomRoot (<span class="keyword">const</span> BomRoot& iBomRoot,</div> <div class="line"> BomRoot& ioCloneBomRoot) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are Inventory objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasInventoryList = BomManager::hasList<Inventory> (iBomRoot);</div> <div class="line"> <span class="keywordflow">if</span> (hasInventoryList == <span class="keyword">true</span>) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Browse the inventories</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa2443c204cfcb7ce31e90308b9a63d71">InventoryList_T</a>& lInventoryList =</div> <div class="line"> BomManager::getList<Inventory> (iBomRoot);</div> <div class="line"> <span class="keywordflow">for</span> (InventoryList_T::const_iterator itInv = lInventoryList.begin();</div> <div class="line"> itInv != lInventoryList.end(); ++itInv) {</div> <div class="line"> <span class="keyword">const</span> Inventory* lInv_ptr = *itInv;</div> <div class="line"> assert (lInv_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current inventory</span></div> <div class="line"> Inventory& lCloneInventory = cloneInventory (*lInv_ptr, ioCloneBomRoot);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneInventory);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioCloneBomRoot, lCloneInventory);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are Airport Pair objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hastAirportPairList = </div> <div class="line"> BomManager::hasList<AirportPair> (iBomRoot);</div> <div class="line"> <span class="keywordflow">if</span> (hastAirportPairList == <span class="keyword">true</span>) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Browse the airport pairs</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3910e03bffd66a6d8bef3d20c98bd0eb">AirportPairList_T</a>& lAirportPairList =</div> <div class="line"> BomManager::getList<AirportPair> (iBomRoot);</div> <div class="line"> <span class="keywordflow">for</span> (AirportPairList_T::const_iterator itAirportPair =</div> <div class="line"> lAirportPairList.begin();</div> <div class="line"> itAirportPair != lAirportPairList.end(); ++itAirportPair) {</div> <div class="line"> <span class="keyword">const</span> AirportPair* lAirportPair_ptr = *itAirportPair;</div> <div class="line"> assert (lAirportPair_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current airport pair</span></div> <div class="line"> AirportPair& lCloneAirportPair = cloneAirportPair (*lAirportPair_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneAirportPair);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioCloneBomRoot, lCloneAirportPair);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> Inventory& CmdCloneBomManager::cloneInventory (<span class="keyword">const</span> Inventory& iInventory,</div> <div class="line"> BomRoot& ioCloneBomRoot) { </div> <div class="line"></div> <div class="line"> Inventory& lCloneInventory = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<Inventory>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iInventory); </div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are FlightDate objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFlighDateList = BomManager::hasList<FlightDate> (iInventory);</div> <div class="line"> <span class="keywordflow">if</span> (hasFlighDateList == <span class="keyword">true</span>) { </div> <div class="line"> <span class="comment">// Browse the flight-dates</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac897d12d418f6bfe878303905a3b943b">FlightDateList_T</a>& lFlightDateList =</div> <div class="line"> BomManager::getList<FlightDate> (iInventory);</div> <div class="line"> <span class="keywordflow">for</span> (FlightDateList_T::const_iterator itFD = lFlightDateList.begin();</div> <div class="line"> itFD != lFlightDateList.end(); ++itFD) {</div> <div class="line"> <span class="keyword">const</span> FlightDate* lFD_ptr = *itFD;</div> <div class="line"> assert (lFD_ptr != NULL);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Clone the current flight-date</span></div> <div class="line"> FlightDate& lCloneFD = cloneFlightDate (*lFD_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneFD);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneFD);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check if the inventory contains a list of partners</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasPartnerList = BomManager::hasList<Inventory> (iInventory);</div> <div class="line"> <span class="keywordflow">if</span> (hasPartnerList == <span class="keyword">true</span>) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Browse the partner's inventories</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa2443c204cfcb7ce31e90308b9a63d71">InventoryList_T</a>& lPartnerInventoryList =</div> <div class="line"> BomManager::getList<Inventory> (iInventory);</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">for</span> (InventoryList_T::const_iterator itInv =</div> <div class="line"> lPartnerInventoryList.begin();</div> <div class="line"> itInv != lPartnerInventoryList.end(); ++itInv) { </div> <div class="line"> <span class="keyword">const</span> Inventory* lInv_ptr = *itInv;</div> <div class="line"> assert (lInv_ptr != NULL);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Clone the current partnership inventory</span></div> <div class="line"> Inventory& lClonePartnerInventory = cloneInventory (*lInv_ptr,</div> <div class="line"> ioCloneBomRoot); </div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory,</div> <div class="line"> lClonePartnerInventory);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory,</div> <div class="line"> lClonePartnerInventory); </div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are O&D date objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasOnDList = BomManager::hasList<OnDDate> (iInventory);</div> <div class="line"> <span class="keywordflow">if</span> (hasOnDList == <span class="keyword">true</span>){</div> <div class="line"></div> <div class="line"> <span class="comment">//Browse the O&Ds</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#aa12f23be931367ac86ffcb48e01d614e">OnDDateList_T</a>& lOnDDateList =</div> <div class="line"> BomManager::getList<OnDDate> (iInventory);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">for</span> (OnDDateList_T::const_iterator itOnD = lOnDDateList.begin();</div> <div class="line"> itOnD != lOnDDateList.end(); ++itOnD) {</div> <div class="line"> <span class="keyword">const</span> OnDDate* lOnDDate_ptr = *itOnD;</div> <div class="line"> assert (lOnDDate_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current O&D date</span></div> <div class="line"> OnDDate& lCloneOnDDate = cloneOnDDate (*lOnDDate_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneOnDDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneOnDDate);</div> <div class="line"> }</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are Flight Period objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFlightPeriodList = </div> <div class="line"> BomManager::hasList<FlightPeriod> (iInventory);</div> <div class="line"> <span class="keywordflow">if</span> (hasFlightPeriodList == <span class="keyword">true</span>) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Browse the flight-periods</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a712c73859b508c7e2ca9e39f9b82980c">FlightPeriodList_T</a>& lFlightPeriodList =</div> <div class="line"> BomManager::getList<FlightPeriod> (iInventory);</div> <div class="line"> <span class="keywordflow">for</span> (FlightPeriodList_T::const_iterator itFlightPeriod =</div> <div class="line"> lFlightPeriodList.begin();</div> <div class="line"> itFlightPeriod != lFlightPeriodList.end(); ++itFlightPeriod) {</div> <div class="line"> <span class="keyword">const</span> FlightPeriod* lFlightPeriod_ptr = *itFlightPeriod;</div> <div class="line"> assert (lFlightPeriod_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current flight period</span></div> <div class="line"> FlightPeriod& lCloneFlightPeriod = cloneFlightPeriod (*lFlightPeriod_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneFlightPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneFlightPeriod);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there is an airline feature object</span></div> <div class="line"> <span class="keyword">const</span> AirlineFeature* lAirlineFeature_ptr =</div> <div class="line"> BomManager::getObjectPtr<AirlineFeature,Inventory> (iInventory,</div> <div class="line"> iInventory.getAirlineCode());</div> <div class="line"> <span class="keywordflow">if</span> (lAirlineFeature_ptr != NULL) {</div> <div class="line"> <span class="comment">// Clone the current airline feature object</span></div> <div class="line"> AirlineFeature& lCloneAirlineFeature =</div> <div class="line"> cloneAirlineFeature (*lAirlineFeature_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lCloneInventory, lCloneAirlineFeature);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneAirlineFeature);</div> <div class="line"> <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneAirlineFeature);</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneInventory;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> AirlineFeature& CmdCloneBomManager::</div> <div class="line"> cloneAirlineFeature (<span class="keyword">const</span> AirlineFeature& iAirlineFeature) { </div> <div class="line"></div> <div class="line"> AirlineFeature& lCloneAirlineFeature = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<AirlineFeature>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirlineFeature); </div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneAirlineFeature;</div> <div class="line"> } </div> <div class="line"> </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> OnDDate& CmdCloneBomManager::cloneOnDDate (<span class="keyword">const</span> OnDDate& iOnDDate) { </div> <div class="line"></div> <div class="line"> OnDDate& lCloneOnDDate = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<OnDDate>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iOnDDate); </div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneOnDDate;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> FlightDate& CmdCloneBomManager::</div> <div class="line"> cloneFlightDate (<span class="keyword">const</span> FlightDate& iFlightDate) { </div> <div class="line"></div> <div class="line"> FlightDate& lCloneFlightDate = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<FlightDate>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFlightDate); </div> <div class="line"> </div> <div class="line"> <span class="comment">// Check whether there are LegDate objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasLegDateList = BomManager::hasList<LegDate> (iFlightDate);</div> <div class="line"> <span class="keywordflow">if</span> (hasLegDateList == <span class="keyword">true</span>) {</div> <div class="line"></div> <div class="line"> <span class="comment">// Browse the leg-dates</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#af5036d369b7d3f5c1692d5a22a4b87b1">LegDateList_T</a>& lLegDateList =</div> <div class="line"> BomManager::getList<LegDate> (iFlightDate);</div> <div class="line"> <span class="keywordflow">for</span> (LegDateList_T::const_iterator itLD = lLegDateList.begin();</div> <div class="line"> itLD != lLegDateList.end(); ++itLD) {</div> <div class="line"> <span class="keyword">const</span> LegDate* lLD_ptr = *itLD;</div> <div class="line"> assert (lLD_ptr != NULL); </div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current leg-date</span></div> <div class="line"> LegDate& lCloneLegDate = cloneLegDate (*lLD_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightDate, lCloneLegDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightDate, lCloneLegDate);</div> <div class="line"> } </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are SegmentDate objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentDateList = </div> <div class="line"> BomManager::hasList<SegmentDate> (iFlightDate);</div> <div class="line"> <span class="keywordflow">if</span> (hasSegmentDateList == <span class="keyword">true</span>) {</div> <div class="line"> </div> <div class="line"> <span class="comment">// Browse the segment-dates</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a2d85d5a19c517fc13241cc3bb8ac3043">SegmentDateList_T</a>& lSegmentDateList =</div> <div class="line"> BomManager::getList<SegmentDate> (iFlightDate);</div> <div class="line"> <span class="keywordflow">for</span> (SegmentDateList_T::const_iterator itSD = lSegmentDateList.begin();</div> <div class="line"> itSD != lSegmentDateList.end(); ++itSD) {</div> <div class="line"> <span class="keyword">const</span> SegmentDate* lSD_ptr = *itSD;</div> <div class="line"> assert (lSD_ptr != NULL); </div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current segment-date</span></div> <div class="line"> SegmentDate& lCloneSegmentDate = cloneSegmentDate (*lSD_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightDate, lCloneSegmentDate);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightDate, lCloneSegmentDate);</div> <div class="line"></div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">return</span> lCloneFlightDate; </div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> LegDate& CmdCloneBomManager::cloneLegDate (<span class="keyword">const</span> LegDate& iLegDate) { </div> <div class="line"></div> <div class="line"> LegDate& lCloneLegDate = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<LegDate>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iLegDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are LegCabin objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasLegCabinList = BomManager::hasList<LegCabin> (iLegDate);</div> <div class="line"> <span class="keywordflow">if</span> (hasLegCabinList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the leg-cabins</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ad5491ad2e9525a32f0bb858dd5fde224">LegCabinList_T</a>& lLegCabinList =</div> <div class="line"> BomManager::getList<LegCabin> (iLegDate);</div> <div class="line"> <span class="keywordflow">for</span> (LegCabinList_T::const_iterator itLC = lLegCabinList.begin();</div> <div class="line"> itLC != lLegCabinList.end(); ++itLC) {</div> <div class="line"> <span class="keyword">const</span> LegCabin* lLC_ptr = *itLC;</div> <div class="line"> assert (lLC_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current leg-cabin </span></div> <div class="line"> LegCabin& lCloneLegCabin = cloneLegCabin (*lLC_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneLegDate, lCloneLegCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneLegDate, lCloneLegCabin);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneLegDate;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> LegCabin& CmdCloneBomManager::cloneLegCabin (<span class="keyword">const</span> LegCabin& iLegCabin) { </div> <div class="line"></div> <div class="line"> LegCabin& lCloneLegCabin = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<LegCabin>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iLegCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are Bucket objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBucketList = BomManager::hasList<Bucket> (iLegCabin);</div> <div class="line"> <span class="keywordflow">if</span> (hasBucketList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the buckets</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ac1a5f291b14977f8533e75bc23c4b428">BucketList_T</a>& lBucketList =</div> <div class="line"> BomManager::getList<Bucket> (iLegCabin);</div> <div class="line"> <span class="keywordflow">for</span> (BucketList_T::const_iterator itBucket = lBucketList.begin();</div> <div class="line"> itBucket != lBucketList.end(); ++itBucket) {</div> <div class="line"> <span class="keyword">const</span> Bucket* lBucket_ptr = *itBucket;</div> <div class="line"> assert (lBucket_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current bucket</span></div> <div class="line"> Bucket& lCloneBucket = cloneBucket (*lBucket_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneLegCabin, lCloneBucket);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneLegCabin, lCloneBucket);</div> <div class="line"> } </div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneLegCabin;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> Bucket& CmdCloneBomManager::cloneBucket (<span class="keyword">const</span> Bucket& iBucket) { </div> <div class="line"></div> <div class="line"> Bucket& lCloneBucket = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<Bucket>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iBucket); </div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneBucket;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> SegmentDate& CmdCloneBomManager::</div> <div class="line"> cloneSegmentDate (<span class="keyword">const</span> SegmentDate& iSegmentDate) { </div> <div class="line"></div> <div class="line"> SegmentDate& lCloneSegmentDate = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<SegmentDate>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentDate);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are SegmentCabin objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentCabinList = </div> <div class="line"> BomManager::hasList<SegmentCabin> (iSegmentDate);</div> <div class="line"> <span class="keywordflow">if</span> (hasSegmentCabinList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the segment-cabins</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a77747e9e9d97c04f98993229220b3aec">SegmentCabinList_T</a>& lSegmentCabinList =</div> <div class="line"> BomManager::getList<SegmentCabin> (iSegmentDate);</div> <div class="line"> <span class="keywordflow">for</span> (SegmentCabinList_T::const_iterator itSC = lSegmentCabinList.begin();</div> <div class="line"> itSC != lSegmentCabinList.end(); ++itSC) {</div> <div class="line"> <span class="keyword">const</span> SegmentCabin* lSC_ptr = *itSC;</div> <div class="line"> assert (lSC_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current segment-cabin </span></div> <div class="line"> SegmentCabin& lCloneSegmentCabin = cloneSegmentCabin (*lSC_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneSegmentDate, lCloneSegmentCabin);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneSegmentDate, lCloneSegmentCabin);</div> <div class="line"> </div> <div class="line"> linkBookingClassesWithSegment (lCloneSegmentDate,</div> <div class="line"> lCloneSegmentCabin);</div> <div class="line"></div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> <span class="keywordflow">return</span> lCloneSegmentDate;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> <span class="keywordtype">void</span> CmdCloneBomManager::</div> <div class="line"> linkBookingClassesWithSegment (SegmentDate& iCloneSegmentDate,</div> <div class="line"> SegmentCabin& iCloneSegmentCabin) { </div> <div class="line"></div> <div class="line"> <span class="comment">// Browse the fare families to link the booking-classes to the </span></div> <div class="line"> <span class="comment">// segment-cabin and to the segment-date </span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFamilyList = </div> <div class="line"> BomManager::hasList<FareFamily> (iCloneSegmentCabin);</div> <div class="line"> <span class="keywordflow">if</span> (hasFareFamilyList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a4bd88a2bde64467cbdec49a20eb51f5e">FareFamilyList_T</a>& lCloneFFList =</div> <div class="line"> BomManager::getList<FareFamily> (iCloneSegmentCabin);</div> <div class="line"> <span class="keywordflow">for</span> (FareFamilyList_T::const_iterator itCloneFF = lCloneFFList.begin();</div> <div class="line"> itCloneFF != lCloneFFList.end(); ++itCloneFF) {</div> <div class="line"> <span class="keyword">const</span> FareFamily* lCloneFF_ptr = *itCloneFF;</div> <div class="line"> assert (lCloneFF_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Browse the list of booking classes </span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBookingClasslist = </div> <div class="line"> BomManager::hasList<BookingClass> (*lCloneFF_ptr);</div> <div class="line"> <span class="keywordflow">if</span> (hasBookingClasslist == <span class="keyword">true</span>) {</div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a>& lCloneBCList =</div> <div class="line"> BomManager::getList<BookingClass> (*lCloneFF_ptr);</div> <div class="line"> <span class="keywordflow">for</span> (BookingClassList_T::const_iterator itCloneBC =</div> <div class="line"> lCloneBCList.begin();</div> <div class="line"> itCloneBC != lCloneBCList.end(); ++itCloneBC) {</div> <div class="line"> <span class="keyword">const</span> BookingClass* lCloneBC_ptr = *itCloneBC;</div> <div class="line"> assert (lCloneBC_ptr != NULL);</div> <div class="line"> </div> <div class="line"> <span class="comment">// Link the booking-class to the segment-cabin</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">stdair::FacBomManager::addToListAndMap</a> (iCloneSegmentCabin, </div> <div class="line"> *lCloneBC_ptr);</div> <div class="line"></div> <div class="line"> <span class="comment">// Link the booking-class to the segment-date</span></div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">stdair::FacBomManager::addToListAndMap</a> (iCloneSegmentDate, </div> <div class="line"> *lCloneBC_ptr);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> SegmentCabin& CmdCloneBomManager::</div> <div class="line"> cloneSegmentCabin (<span class="keyword">const</span> SegmentCabin& iSegmentCabin) { </div> <div class="line"></div> <div class="line"> SegmentCabin& lCloneSegmentCabin = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<SegmentCabin>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentCabin);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are fare family objects </span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFamilyList = </div> <div class="line"> BomManager::hasList<FareFamily> (iSegmentCabin);</div> <div class="line"> <span class="keywordflow">if</span> (hasFareFamilyList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the fare families</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a4bd88a2bde64467cbdec49a20eb51f5e">FareFamilyList_T</a>& lFareFamilyList =</div> <div class="line"> BomManager::getList<FareFamily> (iSegmentCabin);</div> <div class="line"> <span class="keywordflow">for</span> (FareFamilyList_T::const_iterator itFF = lFareFamilyList.begin();</div> <div class="line"> itFF != lFareFamilyList.end(); ++itFF) {</div> <div class="line"> <span class="keyword">const</span> FareFamily* lFF_ptr = *itFF;</div> <div class="line"> assert (lFF_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current fare-family </span></div> <div class="line"> FareFamily& lCloneFareFamily = cloneFareFamily (*lFF_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneSegmentCabin, lCloneFareFamily);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneSegmentCabin, lCloneFareFamily);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">return</span> lCloneSegmentCabin;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> FareFamily& CmdCloneBomManager::</div> <div class="line"> cloneFareFamily (<span class="keyword">const</span> FareFamily& iFareFamily) {</div> <div class="line"> FareFamily& lCloneFareFamily = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<FareFamily>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFareFamily);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are booking classes objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBookingClassList = </div> <div class="line"> BomManager::hasList<BookingClass> (iFareFamily);</div> <div class="line"> <span class="keywordflow">if</span> (hasBookingClassList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the list of booking classes</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a>& lBookingClassList =</div> <div class="line"> BomManager::getList<BookingClass> (iFareFamily);</div> <div class="line"> <span class="keywordflow">for</span> (BookingClassList_T::const_iterator itBookingClass =</div> <div class="line"> lBookingClassList.begin();</div> <div class="line"> itBookingClass != lBookingClassList.end(); ++itBookingClass) {</div> <div class="line"> <span class="keyword">const</span> BookingClass* lBC_ptr = *itBookingClass;</div> <div class="line"> assert (lBC_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current booking class</span></div> <div class="line"> BookingClass& lCloneBookingClass = cloneBookingClass (*lBC_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFareFamily, lCloneBookingClass);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFareFamily, lCloneBookingClass);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneFareFamily;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> BookingClass& CmdCloneBomManager::</div> <div class="line"> cloneBookingClass (<span class="keyword">const</span> BookingClass& iBookingClass) {</div> <div class="line"> </div> <div class="line"> BookingClass& lCloneBookingClass = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<BookingClass>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iBookingClass);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneBookingClass;</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> AirportPair& CmdCloneBomManager::</div> <div class="line"> cloneAirportPair (<span class="keyword">const</span> AirportPair& iAirportPair) {</div> <div class="line"></div> <div class="line"> AirportPair& lCloneAirportPair = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<AirportPair>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirportPair);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are date-period objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasDatePeriodList = </div> <div class="line"> BomManager::hasList<DatePeriod> (iAirportPair);</div> <div class="line"> <span class="keywordflow">if</span> (hasDatePeriodList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the date-periods</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a0cb61b0f5151e050d83c5574f0f55cd0">DatePeriodList_T</a>& lDatePeriodList =</div> <div class="line"> BomManager::getList<DatePeriod> (iAirportPair);</div> <div class="line"> <span class="keywordflow">for</span> (DatePeriodList_T::const_iterator itDatePeriod =</div> <div class="line"> lDatePeriodList.begin();</div> <div class="line"> itDatePeriod != lDatePeriodList.end(); ++itDatePeriod) {</div> <div class="line"> <span class="keyword">const</span> DatePeriod* lDatePeriod_ptr = *itDatePeriod;</div> <div class="line"> assert (lDatePeriod_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current date-period </span></div> <div class="line"> DatePeriod& lCloneDatePeriod = cloneDatePeriod (*lDatePeriod_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneAirportPair, lCloneDatePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneAirportPair, lCloneDatePeriod);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneAirportPair;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> DatePeriod& CmdCloneBomManager::</div> <div class="line"> cloneDatePeriod (<span class="keyword">const</span> DatePeriod& iDatePeriod) {</div> <div class="line"></div> <div class="line"> DatePeriod& lCloneDatePeriod = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<DatePeriod>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iDatePeriod); </div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are pos-channel objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasPosChannelList = </div> <div class="line"> BomManager::hasList<PosChannel> (iDatePeriod);</div> <div class="line"> <span class="keywordflow">if</span> (hasPosChannelList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the pos-channels</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ab378126c72fa818a3741ba1f3978a480">PosChannelList_T</a>& lPosChannelList =</div> <div class="line"> BomManager::getList<PosChannel> (iDatePeriod);</div> <div class="line"> <span class="keywordflow">for</span> (PosChannelList_T::const_iterator itPosChannel =</div> <div class="line"> lPosChannelList.begin();</div> <div class="line"> itPosChannel != lPosChannelList.end(); ++itPosChannel) {</div> <div class="line"> <span class="keyword">const</span> PosChannel* lPosChannel_ptr = *itPosChannel;</div> <div class="line"> assert (lPosChannel_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current pos-channel </span></div> <div class="line"> PosChannel& lClonePosChannel = clonePosChannel (*lPosChannel_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneDatePeriod, lClonePosChannel);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneDatePeriod, lClonePosChannel);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneDatePeriod;</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> </div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> PosChannel& CmdCloneBomManager::</div> <div class="line"> clonePosChannel (<span class="keyword">const</span> PosChannel& iPosChannel) {</div> <div class="line"> </div> <div class="line"> PosChannel& lClonePosChannel = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<PosChannel>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iPosChannel);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are time-period objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasTimePeriodList = </div> <div class="line"> BomManager::hasList<TimePeriod> (iPosChannel);</div> <div class="line"> <span class="keywordflow">if</span> (hasTimePeriodList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the time-periods</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a060ae38f706a8d404f558060855e0c43">TimePeriodList_T</a>& lTimePeriodList =</div> <div class="line"> BomManager::getList<TimePeriod> (iPosChannel);</div> <div class="line"> <span class="keywordflow">for</span> (TimePeriodList_T::const_iterator itTimePeriod =</div> <div class="line"> lTimePeriodList.begin();</div> <div class="line"> itTimePeriod != lTimePeriodList.end(); ++itTimePeriod) {</div> <div class="line"> <span class="keyword">const</span> TimePeriod* lTimePeriod_ptr = *itTimePeriod;</div> <div class="line"> assert (lTimePeriod_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current time-period </span></div> <div class="line"> TimePeriod& lCloneTimePeriod = cloneTimePeriod (*lTimePeriod_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lClonePosChannel, lCloneTimePeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lClonePosChannel, lCloneTimePeriod);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lClonePosChannel;</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> TimePeriod& CmdCloneBomManager::</div> <div class="line"> cloneTimePeriod (<span class="keyword">const</span> TimePeriod& iTimePeriod) {</div> <div class="line"> </div> <div class="line"> TimePeriod& lCloneTimePeriod = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<TimePeriod>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iTimePeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are fare-feature objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFeaturesList = </div> <div class="line"> BomManager::hasList<FareFeatures> (iTimePeriod);</div> <div class="line"> <span class="keywordflow">if</span> (hasFareFeaturesList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the fare-features</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a0df270edcfb5329221a2ef19764786c8">FareFeaturesList_T</a>& lFareFeaturesList =</div> <div class="line"> BomManager::getList<FareFeatures> (iTimePeriod);</div> <div class="line"> <span class="keywordflow">for</span> (FareFeaturesList_T::const_iterator itFF = lFareFeaturesList.begin();</div> <div class="line"> itFF != lFareFeaturesList.end(); ++itFF) {</div> <div class="line"> <span class="keyword">const</span> FareFeatures* lFF_ptr = *itFF;</div> <div class="line"> assert (lFF_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current fare-feature </span></div> <div class="line"> FareFeatures& lCloneFareFeatures = </div> <div class="line"> cloneFeatures<FareFeatures> (*lFF_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneTimePeriod, lCloneFareFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneTimePeriod, lCloneFareFeatures);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are yield-feature objects </span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasYieldFeaturesList = </div> <div class="line"> BomManager::hasList<YieldFeatures> (iTimePeriod);</div> <div class="line"> <span class="keywordflow">if</span> (hasYieldFeaturesList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the yield-features</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#ad1c7cd5db8cf3ed3e721595087ac98c7">YieldFeaturesList_T</a>& lYieldFeaturesList =</div> <div class="line"> BomManager::getList<YieldFeatures> (iTimePeriod);</div> <div class="line"> <span class="keywordflow">for</span> (YieldFeaturesList_T::const_iterator itYF =</div> <div class="line"> lYieldFeaturesList.begin();</div> <div class="line"> itYF != lYieldFeaturesList.end(); ++itYF) {</div> <div class="line"> <span class="keyword">const</span> YieldFeatures* lYF_ptr = *itYF;</div> <div class="line"> assert (lYF_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current yield-feature </span></div> <div class="line"> YieldFeatures& lCloneYieldFeatures = </div> <div class="line"> cloneFeatures<YieldFeatures> (*lYF_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneTimePeriod, lCloneYieldFeatures);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneTimePeriod, lCloneYieldFeatures);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneTimePeriod;</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="comment">// //////////////////////////////////////////////////////////////////// </span></div> <div class="line"> <span class="keyword">template</span> <<span class="keyword">typename</span> FEATURE_TYPE></div> <div class="line"> FEATURE_TYPE& CmdCloneBomManager::</div> <div class="line"> cloneFeatures (<span class="keyword">const</span> FEATURE_TYPE& iFeatures) {</div> <div class="line"></div> <div class="line"> FEATURE_TYPE& lCloneFeatures = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<FEATURE_TYPE>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFeatures);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are airline-class list objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasAirlineClassListList = </div> <div class="line"> BomManager::hasList<AirlineClassList> (iFeatures);</div> <div class="line"> <span class="keywordflow">if</span> (hasAirlineClassListList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the airline-class lists</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a7ff85610013b5efb917da243eee41683">AirlineClassListList_T</a>& lAirlineClassList =</div> <div class="line"> BomManager::getList<AirlineClassList> (iFeatures);</div> <div class="line"> <span class="keywordflow">for</span> (AirlineClassListList_T::const_iterator itACList =</div> <div class="line"> lAirlineClassList.begin();</div> <div class="line"> itACList != lAirlineClassList.end(); ++itACList) {</div> <div class="line"> <span class="keyword">const</span> AirlineClassList* lACList_ptr = *itACList;</div> <div class="line"> assert (lACList_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current airline-class list </span></div> <div class="line"> AirlineClassList& lCloneAirlineClassList =</div> <div class="line"> cloneAirlineClassList (*lACList_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFeatures,</div> <div class="line"> lCloneAirlineClassList);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFeatures,</div> <div class="line"> lCloneAirlineClassList);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">return</span> lCloneFeatures;</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> AirlineClassList& CmdCloneBomManager::</div> <div class="line"> cloneAirlineClassList (<span class="keyword">const</span> AirlineClassList& iAirlineClassList) {</div> <div class="line"> </div> <div class="line"> AirlineClassList& lCloneAirlineClassList = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<AirlineClassList>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirlineClassList);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneAirlineClassList;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> FlightPeriod& CmdCloneBomManager::</div> <div class="line"> cloneFlightPeriod (<span class="keyword">const</span> FlightPeriod& iFlightPeriod) {</div> <div class="line"> </div> <div class="line"> FlightPeriod& lCloneFlightPeriod = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<FlightPeriod>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFlightPeriod);</div> <div class="line"></div> <div class="line"> <span class="comment">// Check whether there are airline-class list objects</span></div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentPeriodList = </div> <div class="line"> BomManager::hasList<SegmentPeriod> (iFlightPeriod);</div> <div class="line"> <span class="keywordflow">if</span> (hasSegmentPeriodList == <span class="keyword">true</span>) {</div> <div class="line"> <span class="comment">// Browse the airline-class lists</span></div> <div class="line"> <span class="keyword">const</span> <a class="code" href="a00535.html#a3fdd48b295e0d4dec52c6fce1786b3c3">SegmentPeriodList_T</a>& lSegmentPeriodList =</div> <div class="line"> BomManager::getList<SegmentPeriod> (iFlightPeriod);</div> <div class="line"> <span class="keywordflow">for</span> (SegmentPeriodList_T::const_iterator itSegmentPeriod =</div> <div class="line"> lSegmentPeriodList.begin();</div> <div class="line"> itSegmentPeriod != lSegmentPeriodList.end(); ++itSegmentPeriod) {</div> <div class="line"> <span class="keyword">const</span> SegmentPeriod* lSegmentPeriod_ptr = *itSegmentPeriod;</div> <div class="line"> assert (lSegmentPeriod_ptr != NULL);</div> <div class="line"></div> <div class="line"> <span class="comment">// Clone the current airline-class list </span></div> <div class="line"> SegmentPeriod& lCloneSegmentPeriod =</div> <div class="line"> cloneSegmentPeriod (*lSegmentPeriod_ptr);</div> <div class="line"> <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightPeriod,</div> <div class="line"> lCloneSegmentPeriod);</div> <div class="line"> <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightPeriod,</div> <div class="line"> lCloneSegmentPeriod);</div> <div class="line"> }</div> <div class="line"> }</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">return</span> lCloneFlightPeriod;</div> <div class="line"> } </div> <div class="line"></div> <div class="line"> <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div> <div class="line"> SegmentPeriod& CmdCloneBomManager::</div> <div class="line"> cloneSegmentPeriod (<span class="keyword">const</span> SegmentPeriod& iSegmentPeriod) {</div> <div class="line"> </div> <div class="line"> SegmentPeriod& lCloneSegmentPeriod = </div> <div class="line"> <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom<SegmentPeriod>::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentPeriod);</div> <div class="line"></div> <div class="line"> <span class="keywordflow">return</span> lCloneSegmentPeriod;</div> <div class="line"> }</div> <div class="line"></div> <div class="line">}</div> <div class="line"></div> <div class="line"><span class="comment">/*!</span></div> </div><!-- fragment --> </div></div><!-- contents --> </div><!-- doc-content --> <li class="footer">Generated on Wed May 22 2013 10:51:59 for StdAir by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li> <li class="footer"> <a href="http://sourceforge.net/projects/stdair"><img class="footer" src="http://sflogo.sourceforge.net/sflogo.php?group_id=267760&type=12&format=.png" alt="SourceForge Logo"></a> </li> </ul> </div> </body> </html>