*/
#include <cassert>
#include <sstream>
namespace stdair {
void CmdBomManager::buildSampleBom (BomRoot& ioBomRoot) {
<< "specifications.");
buildSampleInventorySchedule (ioBomRoot);
buildSamplePricing (ioBomRoot);
buildPartnershipsSampleInventoryAndRM (ioBomRoot);
buildPartnershipsSamplePricing (ioBomRoot);
buildCompleteDummyInventory (ioBomRoot);
}
void CmdBomManager::buildSampleInventorySchedule (BomRoot& ioBomRoot) {
const InventoryKey lBAKey ("BA");
Inventory& lBAInv = FacBom<Inventory>::instance().create (lBAKey);
const InventoryKey lAFKey ("AF");
Inventory& lAFInv = FacBom<Inventory>::instance().create (lAFKey);
FlightDateKey lFlightDateKey (lFlightNumber, lDate);
FlightDate& lBA9_20110610_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
SegmentDateKey lSegmentDateKey (lLHR, lSYD);
SegmentDate& lLHRSYDSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lLHRSYDSegment.setBoardingDate (lDate);
lLHRSYDSegment.setOffDate (lDate + l2Days);
lLHRSYDSegment.setBoardingTime (l2135);
lLHRSYDSegment.setOffTime (l0610);
lLHRSYDSegment.setElapsedTime (l2135);
lSegmentDateKey = SegmentDateKey (lLHR, lBKK);
SegmentDate& lLHRBKKSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lLHRBKKSegment.setBoardingDate (lDate);
lLHRBKKSegment.setOffDate (lDate + l1Day);
lLHRBKKSegment.setBoardingTime (l2135);
lLHRBKKSegment.setOffTime (l1540);
lLHRBKKSegment.setElapsedTime (l1105);
lSegmentDateKey = SegmentDateKey (lBKK, lSYD);
SegmentDate& lBKKSYDSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lBKKSYDSegment.setBoardingDate (lDate + l1Day);
lBKKSYDSegment.setOffDate (lDate + l2Days);
lBKKSYDSegment.setBoardingTime (l1705);
lBKKSYDSegment.setOffTime (l1540);
lBKKSYDSegment.setElapsedTime (l0905);
LegDateKey lLegDateKey (lLHR);
LegDate& lLHRLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lLHRLeg.setOffPoint (lBKK);
lLHRLeg.setBoardingDate (lDate);
lLHRLeg.setOffDate (lDate + l1Day);
lLHRLeg.setBoardingTime (l2135);
lLHRLeg.setOffTime (l1540);
lLHRLeg.setElapsedTime (l1105);
lLegDateKey = LegDateKey (lBKK);
LegDate& lBKKLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lBKKLeg.setOffPoint (lSYD);
lBKKLeg.setBoardingDate (lDate + l1Day);
lBKKLeg.setOffDate (lDate + l2Days);
lBKKLeg.setBoardingTime (l1705);
lBKKLeg.setOffTime (l1540);
lBKKLeg.setElapsedTime (l0905);
SegmentCabinKey lYSegmentCabinKey (lY);
SegmentCabin& lLHRBKKSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lBKKSYDSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lLHRSYDSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabinKey lYLegCabinKey (lY);
LegCabin& lLHRLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
LegCabin& lBKKLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lLHRSYDSegmentYCabin.getFullerKey());
lLHRBKKSegmentYCabin.getFullerKey());
lLHRSYDSegmentYCabin.getFullerKey());
lBKKSYDSegmentYCabin.getFullerKey());
lLHRLegYCabin.getFullerKey());
lLHRLegYCabin.getFullerKey());
lBKKLegYCabin.getFullerKey());
lBKKLegYCabin.getFullerKey());
FareFamilyKey l1FareFamilyKey (l1);
FareFamily& lLHRBKKSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lLHRBKKSegmentYCabin1Family);
lLHRBKKSegmentYCabin1Family);
FareFamily& lBKKSYDSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lBKKSYDSegmentYCabin1Family);
lBKKSYDSegmentYCabin1Family);
FareFamily& lLHRSYDSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lLHRSYDSegmentYCabin1Family);
lLHRSYDSegmentYCabin1Family);
BookingClassKey lQBookingClassKey (lQ);
BookingClass& lLHRBKKSegmentYCabin1FamilyQClass =
FacBom<BookingClass>::instance().create (lQBookingClassKey);
lLHRBKKSegmentYCabin1FamilyQClass);
lLHRBKKSegmentYCabin1FamilyQClass);
lLHRBKKSegmentYCabin1FamilyQClass);
lLHRBKKSegmentYCabin1FamilyQClass);
BookingClass& lBKKSYDSegmentYCabin1FamilyQClass =
FacBom<BookingClass>::instance().create (lQBookingClassKey);
lBKKSYDSegmentYCabin1FamilyQClass);
lBKKSYDSegmentYCabin1FamilyQClass);
lBKKSYDSegmentYCabin1FamilyQClass);
lBKKSYDSegmentYCabin1FamilyQClass);
BookingClass& lLHRSYDSegmentYCabin1FamilyQClass =
FacBom<BookingClass>::instance().create (lQBookingClassKey);
lLHRSYDSegmentYCabin1FamilyQClass);
lLHRSYDSegmentYCabin1FamilyQClass);
lLHRSYDSegmentYCabin1FamilyQClass);
lLHRSYDSegmentYCabin1FamilyQClass);
lFlightNumber = 84;
lFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lAF084_20110320_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
lSegmentDateKey = SegmentDateKey (lCDG, lSFO);
SegmentDate& lCDGSFOSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lCDGSFOSegment.setBoardingDate (lDate);
lCDGSFOSegment.setOffDate (lDate);
lCDGSFOSegment.setBoardingTime (l1040);
lCDGSFOSegment.setOffTime (l1250);
lCDGSFOSegment.setElapsedTime (l1110);
lLegDateKey = LegDateKey (lCDG);
LegDate& lCDGLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lCDGLeg.setOffPoint (lSFO);
lCDGLeg.setBoardingDate (lDate);
lCDGLeg.setOffDate (lDate);
lCDGLeg.setBoardingTime (l1040);
lCDGLeg.setOffTime (l1250);
lCDGLeg.setElapsedTime (l1110);
SegmentCabin& lCDGSFOSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabin& lCDGLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lCDGSFOSegmentYCabin.getFullerKey());
lCDGLegYCabin.getFullerKey());
FareFamily& lCDGSFOSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lCDGSFOSegmentYCabin1Family);
lCDGSFOSegmentYCabin1Family);
BookingClass& lCDGSFOSegmentYCabin1FamilyQClass =
FacBom<BookingClass>::instance().create (lQBookingClassKey);
lCDGSFOSegmentYCabin1FamilyQClass);
lCDGSFOSegmentYCabin1FamilyQClass);
lCDGSFOSegmentYCabin1FamilyQClass);
lCDGSFOSegmentYCabin1FamilyQClass);
const DoWStruct lDoWSrtuct ("1111111");
const Date_T lBA9DateRangeStart (2010, boost::gregorian::Jun, 6);
const Date_T lBA9DateRangeEnd (2010, boost::gregorian::Jun, 7);
const DatePeriod_T lBA9DatePeriod (lBA9DateRangeStart, lBA9DateRangeEnd);
const PeriodStruct lBA9PeriodStruct (lBA9DatePeriod, lDoWSrtuct);
FlightPeriodKey lBA9FlightPeriodKey (lFlightNumber, lBA9PeriodStruct);
FlightPeriod& lBA9FlightPeriod =
FacBom<FlightPeriod>::instance().create (lBA9FlightPeriodKey);
SegmentPeriodKey lLHRSYDSegmentPeriodKey (lLHR, lSYD);
SegmentPeriod& lLHRSYDSegmentPeriod =
FacBom<SegmentPeriod>::instance().create (lLHRSYDSegmentPeriodKey);
lLHRSYDSegmentPeriod.setBoardingTime (l2135);
lLHRSYDSegmentPeriod.setOffTime (l1540);
lLHRSYDSegmentPeriod.setElapsedTime (l1105);
lLHRSYDSegmentPeriod.addCabinBookingClassList (lY,lYM);
const Date_T lAF84DateRangeStart (2011, boost::gregorian::Mar, 20);
const Date_T lAF84DateRangeEnd (2011, boost::gregorian::Mar, 21);
const DatePeriod_T lAF84DatePeriod (lAF84DateRangeStart, lAF84DateRangeEnd);
const PeriodStruct lAF84PeriodStruct (lAF84DatePeriod, lDoWSrtuct);
FlightPeriodKey lAF84FlightPeriodKey (lFlightNumber, lAF84PeriodStruct);
FlightPeriod& lAF84FlightPeriod =
FacBom<FlightPeriod>::instance().create (lAF84FlightPeriodKey);
SegmentPeriodKey lCDGSFOSegmentPeriodKey (lCDG, lSFO);
SegmentPeriod& lCDGSFOSegmentPeriod =
FacBom<SegmentPeriod>::instance().create (lCDGSFOSegmentPeriodKey);
lCDGSFOSegmentPeriod.setBoardingTime (l1040);
lCDGSFOSegmentPeriod.setOffTime (l1250);
lCDGSFOSegmentPeriod.setElapsedTime (l1110);
lCDGSFOSegmentPeriod.addCabinBookingClassList (lY,lYM);
OnDString_T lBALHRSYDOnDStr =
"BA;9,2010-Jun-06;LHR,SYD";
lBAOnDStrList.push_back (lBALHRSYDOnDStr);
OnDDateKey lBAOnDDateKey (lBAOnDStrList);
OnDDate& lBA_LHRSYD_OnDDate =
FacBom<OnDDate>::instance().create (lBAOnDDateKey);
const WTP_T lWTP750 = 750.0;
lBA_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);
OnDString_T lAFLHRSYDOnDStr =
"AF;9,2011-Mar-20;CDG,SFO";
lAFOnDStrList.push_back (lAFLHRSYDOnDStr);
OnDDateKey lAFOnDDateKey (lAFOnDStrList);
OnDDate& lAF_LHRSYD_OnDDate =
FacBom<OnDDate>::instance().create (lAFOnDDateKey);
lAF_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);
}
void CmdBomManager::buildCompleteDummyInventory (BomRoot& ioBomRoot) {
buildDummyInventory (ioBomRoot, lCapacity);
SegmentCabin& lDummySegmentCabin =
LegCabin& lDummyLegCabin =
BookingClass& lDummyBookingClass =
FacBom<BookingClass>::instance().create (lBCKey);
lDummyBookingClass.setYield (lYield);
lDummyBookingClass.setMean (lMean);
lDummyBookingClass.setStdDev (lStdDev);
VirtualClassStruct lDummyVirtualClass (lDummyBookingClass);
lDummyVirtualClass.setYield (lYield);
lDummyVirtualClass.setMean (lMean);
lDummyVirtualClass.setStdDev (lStdDev);
lDummyLegCabin.addVirtualClass (lDummyVirtualClass);
lYield = 70;
lMean = 45;
lStdDev= 12;
lDummyBookingClass.setYield (lYield);
lDummyBookingClass.setMean (lMean);
lDummyBookingClass.setStdDev (lStdDev);
lDummyVirtualClass.setYield (lYield);
lDummyVirtualClass.setMean (lMean);
lDummyVirtualClass.setStdDev (lStdDev);
lDummyLegCabin.addVirtualClass (lDummyVirtualClass);
lYield = 42;
lMean = 80;
lStdDev= 16;
lDummyBookingClass.setYield (lYield);
lDummyBookingClass.setMean (lMean);
lDummyBookingClass.setStdDev (lStdDev);
lDummyVirtualClass.setYield (lYield);
lDummyVirtualClass.setMean (lMean);
lDummyVirtualClass.setStdDev (lStdDev);
lDummyLegCabin.addVirtualClass (lDummyVirtualClass);
}
void CmdBomManager::buildDummyInventory (BomRoot& ioBomRoot,
Inventory& lInv = FacBom<Inventory>::instance().create (lInventoryKey);
FlightDate& lFlightDate =
FacBom<FlightDate>::instance().create (lFlightDateKey);
LegDate& lLeg = FacBom<LegDate>::instance().create (lLegDateKey);
LegCabin& lLegCabin = FacBom<LegCabin>::instance().create (lLegCabinKey);
lLegCabin.setCapacities (iCapacity);
lLegCabin.setAvailabilityPool (iCapacity);
SegmentDate& lSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
SegmentCabin& lSegmentCabin =
FacBom<SegmentCabin>::instance().create (lSegmentCabinKey);
lSegmentCabin.getFullerKey());
lLegCabin.getFullerKey());
FareFamilyKey l1FareFamilyKey (l1);
FareFamily& lSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
BookingClassKey lQBookingClassKey (lQ);
BookingClass& lSegmentYCabin1FamilyQClass =
FacBom<BookingClass>::instance().create (lQBookingClassKey);
lSegmentYCabin1FamilyQClass);
lSegmentYCabin1FamilyQClass);
const DoWStruct lDoWSrtuct ("1111111");
const DatePeriod_T lXXDatePeriod (lXXDateRangeStart, lXXDateRangeEnd);
const PeriodStruct lXXPeriodStruct (lXXDatePeriod, lDoWSrtuct);
FlightPeriod& lXXFlightPeriod =
FacBom<FlightPeriod>::instance().create (lXXFlightPeriodKey);
SegmentPeriod& lXXSegmentPeriod =
FacBom<SegmentPeriod>::instance().create (lXXSegmentPeriodKey);
lXXSegmentPeriod.setBoardingTime (
Duration_T (14, 0, 0));
lXXSegmentPeriod.setOffTime (
Duration_T (16, 0, 0));
lXXSegmentPeriod.setElapsedTime (
Duration_T (8, 0, 0));
lXXSegmentPeriod.addCabinBookingClassList (lY,lYQ);
}
void CmdBomManager::buildSamplePricing (BomRoot& ioBomRoot) {
AirportPair& lAirportPair =
FacBom<AirportPair>::instance().create (lAirportPairKey);
const Date_T lDateRangeStart (2011, boost::gregorian::Jan, 15);
const Date_T lDateRangeEnd (2011, boost::gregorian::Dec, 31);
const DatePeriod_T lDateRange (lDateRangeStart, lDateRangeEnd);
const DatePeriodKey lDatePeriodKey (lDateRange);
DatePeriod& lDatePeriod =
FacBom<DatePeriod>::instance().create (lDatePeriodKey);
PosChannel& lPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
const Time_T lTimeRangeStart (0, 0, 0);
const Time_T lTimeRangeEnd (23, 0, 0);
const TimePeriodKey lTimePeriodKey (lTimeRangeStart, lTimeRangeEnd);
TimePeriod& lTimePeriod =
FacBom<TimePeriod>::instance().create (lTimePeriodKey);
FareFeatures& lFareFeatures =
FacBom<FareFeatures>::instance().create (lFareFeaturesKey);
YieldFeatures& lYieldFeatures =
FacBom<YieldFeatures>::instance().create (lYieldFeaturesKey);
const AirlineClassListKey lAirlineClassListKey (lAirlineCodeList,
lClassCodeList);
AirlineClassList& lAirlineClassList =
FacBom<AirlineClassList>::instance().create (lAirlineClassListKey);
lAirlineClassList.setFare (900);
lAirlineClassList.setYield (900);
}
void CmdBomManager::
ioTravelSolutionList.clear();
const std::string lBA9_SegmentDateKey ("BA, 9, 2011-06-10, LHR, SYD, 21:45");
TravelSolutionStruct lTS;
lTS.addSegment (lBA9_SegmentDateKey);
ioTravelSolutionList.push_back (lTS);
}
void CmdBomManager::
ioTravelSolutionList.clear();
const std::string lBA9_SegmentDateKey ("BA, 9, 2011-06-10, LHR, SYD, 21:45");
TravelSolutionStruct lTS;
lTS.addSegment (lBA9_SegmentDateKey);
const FareOptionStruct lFareOption (lClassPath, lFare, lChangeFee,
isNonRefundable, lSaturdayStay);
lTS.addFareOption (lFareOption);
const bool hasInsertBeenSuccessful = lClassAvailabilityMap.
insert (ClassAvailabilityMap_T::value_type (lClassPath, lAvl)).second;
assert (hasInsertBeenSuccessful == true);
lTS.addClassAvailabilityMap (lClassAvailabilityMap);
ioTravelSolutionList.push_back (lTS);
}
BookingRequestStruct CmdBomManager::buildSampleBookingRequest() {
const Date_T lPreferredDepartureDate (2011, boost::gregorian::Jun, 10);
const Duration_T lPreferredDepartureTime (8, 0, 0);
const Date_T lRequestDate (2011, boost::gregorian::May, 15);
const DateTime_T lRequestDateTime (lRequestDate, lRequestTime);
BookingRequestStruct oBookingRequest (lOrigin, lDestination, lPOS,
lPreferredDepartureDate,
lRequestDateTime,
lPreferredCabin,
lPartySize, lChannel,
lTripType, lStayDuration,
lFrequentFlyerType,
lPreferredDepartureTime,
lWTP, lValueOfTime);
return oBookingRequest;
}
BookingRequestStruct CmdBomManager::buildSampleBookingRequestForCRS() {
const Date_T lPreferredDepartureDate (2010, boost::gregorian::Jan, 30);
const Duration_T lPreferredDepartureTime (10, 0, 0);
const Date_T lRequestDate (2010, boost::gregorian::Jan, 22);
const DateTime_T lRequestDateTime (lRequestDate, lRequestTime);
BookingRequestStruct oBookingRequest (lOrigin,
lDestination,
lPOS,
lPreferredDepartureDate,
lRequestDateTime,
lPreferredCabin,
lPartySize, lChannel,
lTripType, lStayDuration,
lFrequentFlyerType,
lPreferredDepartureTime,
lWTP, lValueOfTime);
return oBookingRequest;
}
void CmdBomManager::buildPartnershipsSampleInventoryAndRM (BomRoot& ioBomRoot) {
const InventoryKey lSQKey ("SQ");
Inventory& lSQInv = FacBom<Inventory>::instance().create (lSQKey);
const InventoryKey lCXKey ("CX");
Inventory& lCXInv = FacBom<Inventory>::instance().create (lCXKey);
FlightDateKey lFlightDateKey (lFlightNumber, lDate);
FlightDate& lSQ11_20100208_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
FlightDateKey lMktFlightDateKey (lMktFlightNumber, lDate);
FlightDate& lSQ1200_20100208_FD =
FacBom<FlightDate>::instance().create (lMktFlightDateKey);
SegmentDateKey lSegmentDateKey (lSIN, lBKK);
SegmentDate& lSINBKKSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lSINBKKSegment.setBoardingDate (lDate);
lSINBKKSegment.setOffDate (lDate);
lSINBKKSegment.setBoardingTime (l0820);
lSINBKKSegment.setOffTime (l1100);
lSINBKKSegment.setElapsedTime (l0340);
SegmentDateKey lMktSegmentDateKey (lBKK, lHKG);
SegmentDate& lMktBKKHKGSegment =
FacBom<SegmentDate>::instance().create (lMktSegmentDateKey);
lMktBKKHKGSegment.setBoardingDate (lDate);
lMktBKKHKGSegment.setOffDate (lDate);
lMktBKKHKGSegment.setBoardingTime (l1200);
lMktBKKHKGSegment.setOffTime (l1540);
lMktBKKHKGSegment.setElapsedTime (l0240);
LegDateKey lLegDateKey (lSIN);
LegDate& lSINLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lSINLeg.setOffPoint (lBKK);
lSINLeg.setBoardingDate (lDate);
lSINLeg.setOffDate (lDate);
lSINLeg.setBoardingTime (l0820);
lSINLeg.setOffTime (l1100);
lSINLeg.setElapsedTime (l0340);
SegmentCabinKey lYSegmentCabinKey (lY);
SegmentCabin& lSINBKKSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lMktBKKHKGSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabinKey lYLegCabinKey (lY);
LegCabin& lSINLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lSINLegYCabin.setCapacities (lCapacity);
lSINLegYCabin.setAvailabilityPool (lCapacity);
lSINBKKSegmentYCabin.getFullerKey());
lSINLegYCabin.getFullerKey());
FareFamilyKey l1FareFamilyKey (l1);
FareFamily& lSINBKKSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lSINBKKSegmentYCabin1Family);
lSINBKKSegmentYCabin1Family);
FareFamily& lMktBKKHKGSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lMktBKKHKGSegmentYCabin1Family);
lMktBKKHKGSegmentYCabin1Family);
BookingClassKey lYBookingClassKey (lY);
BookingClass& lSINBKKSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lSINBKKSegmentYCabin1FamilyYClass);
lSINBKKSegmentYCabin1FamilyYClass);
lSINBKKSegmentYCabin1FamilyYClass);
lSINBKKSegmentYCabin1FamilyYClass);
lSINBKKSegmentYCabin1FamilyYClass.setYield(700);
BookingClass& lMktBKKHKGSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lMktBKKHKGSegmentYCabin1FamilyYClass);
lMktBKKHKGSegmentYCabin1FamilyYClass);
lMktBKKHKGSegmentYCabin1FamilyYClass);
lMktBKKHKGSegmentYCabin1FamilyYClass);
lMktBKKHKGSegmentYCabin1FamilyYClass.setYield(700);
BookingClassKey lMBookingClassKey (lM);
BookingClass& lSINBKKSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lSINBKKSegmentYCabin1FamilyMClass);
lSINBKKSegmentYCabin1FamilyMClass);
lSINBKKSegmentYCabin1FamilyMClass);
lSINBKKSegmentYCabin1FamilyMClass);
lSINBKKSegmentYCabin1FamilyMClass.setYield(500);
BookingClass& lMktBKKHKGSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lMktBKKHKGSegmentYCabin1FamilyMClass);
lMktBKKHKGSegmentYCabin1FamilyMClass);
lMktBKKHKGSegmentYCabin1FamilyMClass);
lMktBKKHKGSegmentYCabin1FamilyMClass);
lMktBKKHKGSegmentYCabin1FamilyMClass.setYield(500);
const InventoryKey lPartnerCXKey ("CX");
Inventory& lPartnerCXInv = FacBom<Inventory>::instance().create (lPartnerCXKey);
lFlightNumber = 12;
lFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lPartnerCX12_20100208_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
lFlightNumber = 1100;
lMktFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lPartnerCX1100_20100208_FD =
FacBom<FlightDate>::instance().create (lMktFlightDateKey);
lSegmentDateKey = SegmentDateKey (lBKK, lHKG);
SegmentDate& lPartnerBKKHKGSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lPartnerBKKHKGSegment.setBoardingDate (lDate);
lPartnerBKKHKGSegment.setOffDate (lDate);
lPartnerBKKHKGSegment.setBoardingTime (l1200);
lPartnerBKKHKGSegment.setOffTime (l1540);
lPartnerBKKHKGSegment.setElapsedTime (l0240);
lMktSegmentDateKey = SegmentDateKey (lSIN, lBKK);
SegmentDate& lPartnerMktSINBKKSegment =
FacBom<SegmentDate>::instance().create (lMktSegmentDateKey);
lPartnerMktSINBKKSegment.setBoardingDate (lDate);
lPartnerMktSINBKKSegment.setOffDate (lDate);
lPartnerMktSINBKKSegment.setBoardingTime (l0820);
lPartnerMktSINBKKSegment.setOffTime (l1100);
lPartnerMktSINBKKSegment.setElapsedTime (l0340);
lLegDateKey = LegDateKey (lBKK);
LegDate& lPartnerBKKLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lPartnerBKKLeg.setOffPoint (lHKG);
lPartnerBKKLeg.setBoardingDate (lDate);
lPartnerBKKLeg.setOffDate (lDate);
lPartnerBKKLeg.setBoardingTime (l1200);
lPartnerBKKLeg.setOffTime (l1540);
lPartnerBKKLeg.setElapsedTime (l0240);
SegmentCabin& lPartnerBKKHKGSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lPartnerMktSINBKKSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabin& lPartnerBKKLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lPartnerBKKLegYCabin.setCapacities (lCapacity);
lPartnerBKKLegYCabin.setAvailabilityPool (lCapacity);
lPartnerBKKHKGSegmentYCabin.getFullerKey());
lPartnerBKKLegYCabin.getFullerKey());
FareFamily& lPartnerBKKHKGSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lPartnerBKKHKGSegmentYCabin1Family);
lPartnerBKKHKGSegmentYCabin1Family);
FareFamily& lPartnerMktSINBKKSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lPartnerMktSINBKKSegmentYCabin1Family);
lPartnerMktSINBKKSegmentYCabin1Family);
BookingClass& lPartnerBKKHKGSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lPartnerBKKHKGSegmentYCabin1FamilyYClass);
lPartnerBKKHKGSegmentYCabin1FamilyYClass);
lPartnerBKKHKGSegmentYCabin1FamilyYClass);
lPartnerBKKHKGSegmentYCabin1FamilyYClass);
BookingClass& lPartnerMktSINBKKSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lPartnerMktSINBKKSegmentYCabin1FamilyYClass);
lPartnerMktSINBKKSegmentYCabin1FamilyYClass);
lPartnerMktSINBKKSegmentYCabin1FamilyYClass);
lPartnerMktSINBKKSegmentYCabin1FamilyYClass);
BookingClass& lPartnerBKKHKGSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lPartnerBKKHKGSegmentYCabin1FamilyMClass);
lPartnerBKKHKGSegmentYCabin1FamilyMClass);
lPartnerBKKHKGSegmentYCabin1FamilyMClass);
lPartnerBKKHKGSegmentYCabin1FamilyMClass);
BookingClass& lPartnerMktSINBKKSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lPartnerMktSINBKKSegmentYCabin1FamilyMClass);
lPartnerMktSINBKKSegmentYCabin1FamilyMClass);
lPartnerMktSINBKKSegmentYCabin1FamilyMClass);
lPartnerMktSINBKKSegmentYCabin1FamilyMClass);
lMktBKKHKGSegment.linkWithOperating (lPartnerBKKHKGSegment);
OnDString_T lSQSINBKKOnDStr =
"SQ;11,2010-Feb-08;SIN,BKK";
OnDString_T lMktSQBKKHKGOnDStr =
"SQ;1200,2010-Feb-08;BKK,HKG";
lOnDStringList.push_back (lSQSINBKKOnDStr);
lOnDStringList.push_back (lMktSQBKKHKGOnDStr);
OnDDateKey lOnDDateKey (lOnDStringList);
OnDDate& lSQ_SINHKG_OnDDate =
FacBom<OnDDate>::instance().create (lOnDDateKey);
const WTP_T lWTP750 = 750.0;
lSQ_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);
lCabinClassPairList.push_back(lCC_YM1);
lCabinClassPairList.push_back(lCC_YM2);
lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield850Mean20StdDev2);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YY1);
lCabinClassPairList.push_back(lCC_YY2);
lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield1200Mean10StdDev1);
lOnDStringList.clear();
lOnDStringList.push_back (lSQSINBKKOnDStr);
lOnDDateKey = OnDDateKey(lOnDStringList);
OnDDate& lSQ_SINBKK_OnDDate =
FacBom<OnDDate>::instance().create (lOnDDateKey);
const WTP_T lWTP400 = 400.0;
lSQ_SINBKK_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YM1);
lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, lYield500Mean20StdDev1);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YY1);
lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, lYield700Mean20StdDev1);
lFlightNumber = 12;
lFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lCX12_20100208_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
lFlightNumber = 1100;
lMktFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lCX1100_20100208_FD =
FacBom<FlightDate>::instance().create (lMktFlightDateKey);
lSegmentDateKey = SegmentDateKey (lBKK, lHKG);
SegmentDate& lBKKHKGSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lBKKHKGSegment.setBoardingDate (lDate);
lBKKHKGSegment.setOffDate (lDate);
lBKKHKGSegment.setBoardingTime (l1200);
lBKKHKGSegment.setOffTime (l1540);
lBKKHKGSegment.setElapsedTime (l0240);
lMktSegmentDateKey = SegmentDateKey (lSIN, lBKK);
SegmentDate& lMktSINBKKSegment =
FacBom<SegmentDate>::instance().create (lMktSegmentDateKey);
lMktSINBKKSegment.setBoardingDate (lDate);
lMktSINBKKSegment.setOffDate (lDate);
lMktSINBKKSegment.setBoardingTime (l0820);
lMktSINBKKSegment.setOffTime (l1100);
lMktSINBKKSegment.setElapsedTime (l0340);
lLegDateKey = LegDateKey (lBKK);
LegDate& lBKKLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lBKKLeg.setOffPoint (lHKG);
lBKKLeg.setBoardingDate (lDate);
lBKKLeg.setOffDate (lDate);
lBKKLeg.setBoardingTime (l1200);
lBKKLeg.setOffTime (l1540);
lBKKLeg.setElapsedTime (l0240);
SegmentCabin& lBKKHKGSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lMktSINBKKSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabin& lBKKLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lBKKLegYCabin.setCapacities (lCapacity);
lBKKLegYCabin.setAvailabilityPool (lCapacity);
lBKKHKGSegmentYCabin.getFullerKey());
lBKKLegYCabin.getFullerKey());
FareFamily& lBKKHKGSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lBKKHKGSegmentYCabin1Family);
lBKKHKGSegmentYCabin1Family);
FareFamily& lMktSINBKKSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lMktSINBKKSegmentYCabin1Family);
lMktSINBKKSegmentYCabin1Family);
BookingClass& lBKKHKGSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lBKKHKGSegmentYCabin1FamilyYClass);
lBKKHKGSegmentYCabin1FamilyYClass);
lBKKHKGSegmentYCabin1FamilyYClass);
lBKKHKGSegmentYCabin1FamilyYClass);
lBKKHKGSegmentYCabin1FamilyYClass.setYield(700);
BookingClass& lMktSINBKKSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lMktSINBKKSegmentYCabin1FamilyYClass);
lMktSINBKKSegmentYCabin1FamilyYClass);
lMktSINBKKSegmentYCabin1FamilyYClass);
lMktSINBKKSegmentYCabin1FamilyYClass);
lMktSINBKKSegmentYCabin1FamilyYClass.setYield(700);
BookingClass& lBKKHKGSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lBKKHKGSegmentYCabin1FamilyMClass);
lBKKHKGSegmentYCabin1FamilyMClass);
lBKKHKGSegmentYCabin1FamilyMClass);
lBKKHKGSegmentYCabin1FamilyMClass);
lBKKHKGSegmentYCabin1FamilyMClass.setYield(500);
BookingClass& lMktSINBKKSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lMktSINBKKSegmentYCabin1FamilyMClass);
lMktSINBKKSegmentYCabin1FamilyMClass);
lMktSINBKKSegmentYCabin1FamilyMClass);
lMktSINBKKSegmentYCabin1FamilyMClass);
lMktSINBKKSegmentYCabin1FamilyMClass.setYield(500);
const InventoryKey lPartnerSQKey ("SQ");
Inventory& lPartnerSQInv = FacBom<Inventory>::instance().create (lPartnerSQKey);
lFlightNumber = 11;
lFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lPartnerSQ11_20100208_FD =
FacBom<FlightDate>::instance().create (lFlightDateKey);
lFlightNumber = 1200;
lMktFlightDateKey = FlightDateKey (lFlightNumber, lDate);
FlightDate& lPartnerSQ1200_20100208_FD =
FacBom<FlightDate>::instance().create (lMktFlightDateKey);
lSegmentDateKey = SegmentDateKey (lSIN, lBKK);
SegmentDate& lPartnerSINBKKSegment =
FacBom<SegmentDate>::instance().create (lSegmentDateKey);
lPartnerSINBKKSegment.setBoardingDate (lDate);
lPartnerSINBKKSegment.setOffDate (lDate);
lPartnerSINBKKSegment.setBoardingTime (l0820);
lPartnerSINBKKSegment.setOffTime (l1100);
lPartnerSINBKKSegment.setElapsedTime (l0340);
lMktSegmentDateKey = SegmentDateKey (lBKK, lHKG);
SegmentDate& lPartnerMktBKKHKGSegment =
FacBom<SegmentDate>::instance().create (lMktSegmentDateKey);
lPartnerMktBKKHKGSegment.setBoardingDate (lDate);
lPartnerMktBKKHKGSegment.setOffDate (lDate);
lPartnerMktBKKHKGSegment.setBoardingTime (l1200);
lPartnerMktBKKHKGSegment.setOffTime (l1540);
lPartnerMktBKKHKGSegment.setElapsedTime (l0240);
lLegDateKey = LegDateKey (lSIN);
LegDate& lPartnerSINLeg = FacBom<LegDate>::instance().create (lLegDateKey);
lPartnerSINLeg.setOffPoint (lBKK);
lPartnerSINLeg.setBoardingDate (lDate);
lPartnerSINLeg.setOffDate (lDate);
lPartnerSINLeg.setBoardingTime (l0820);
lPartnerSINLeg.setOffTime (l1100);
lPartnerSINLeg.setElapsedTime (l0340);
SegmentCabin& lPartnerSINBKKSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
SegmentCabin& lPartnerMktBKKHKGSegmentYCabin =
FacBom<SegmentCabin>::instance().create (lYSegmentCabinKey);
LegCabin& lPartnerSINLegYCabin =
FacBom<LegCabin>::instance().create (lYLegCabinKey);
lPartnerSINLegYCabin.setCapacities (lCapacity);
lPartnerSINLegYCabin.setAvailabilityPool (lCapacity);
lPartnerSINBKKSegmentYCabin.getFullerKey());
lPartnerSINLegYCabin.getFullerKey());
FareFamily& lPartnerSINBKKSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lPartnerSINBKKSegmentYCabin1Family);
lPartnerSINBKKSegmentYCabin1Family);
FareFamily& lPartnerMktBKKHKGSegmentYCabin1Family =
FacBom<FareFamily>::instance().create (l1FareFamilyKey);
lPartnerMktBKKHKGSegmentYCabin1Family);
lPartnerMktBKKHKGSegmentYCabin1Family);
BookingClass& lPartnerSINBKKSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lPartnerSINBKKSegmentYCabin1FamilyYClass);
lPartnerSINBKKSegmentYCabin1FamilyYClass);
lPartnerSINBKKSegmentYCabin1FamilyYClass);
lPartnerSINBKKSegmentYCabin1FamilyYClass);
BookingClass& lPartnerMktBKKHKGSegmentYCabin1FamilyYClass =
FacBom<BookingClass>::instance().create (lYBookingClassKey);
lPartnerMktBKKHKGSegmentYCabin1FamilyYClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyYClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyYClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyYClass);
BookingClass& lPartnerSINBKKSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lPartnerSINBKKSegmentYCabin1FamilyMClass);
lPartnerSINBKKSegmentYCabin1FamilyMClass);
lPartnerSINBKKSegmentYCabin1FamilyMClass);
lPartnerSINBKKSegmentYCabin1FamilyMClass);
BookingClass& lPartnerMktBKKHKGSegmentYCabin1FamilyMClass =
FacBom<BookingClass>::instance().create (lMBookingClassKey);
lPartnerMktBKKHKGSegmentYCabin1FamilyMClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyMClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyMClass);
lPartnerMktBKKHKGSegmentYCabin1FamilyMClass);
lMktSINBKKSegment.linkWithOperating (lPartnerSINBKKSegment);
OnDString_T lMktCXSINBKKOnDStr =
"CX;1100,2010-Feb-08;SIN,BKK";
OnDString_T lCXBKKHKGOnDStr =
"CX;12,2010-Feb-08;BKK,HKG";
lOnDStringList.clear();
lOnDStringList.push_back (lMktCXSINBKKOnDStr);
lOnDStringList.push_back (lCXBKKHKGOnDStr);
lOnDDateKey = OnDDateKey(lOnDStringList);
OnDDate& lCX_SINHKG_OnDDate =
FacBom<OnDDate>::instance().create (lOnDDateKey);
lCX_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YM1);
lCabinClassPairList.push_back(lCC_YM2);
lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield850Mean20StdDev2);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YY1);
lCabinClassPairList.push_back(lCC_YY2);
lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield1200Mean10StdDev1);
lOnDStringList.clear();
lOnDStringList.push_back (lCXBKKHKGOnDStr);
lOnDDateKey = OnDDateKey(lOnDStringList);
OnDDate& lCX_BKKHKG_OnDDate =
FacBom<OnDDate>::instance().create (lOnDDateKey);
lCX_BKKHKG_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YM2);
lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield500Mean20StdDev1);
lCabinClassPairList.clear();
lCabinClassPairList.push_back(lCC_YY2);
lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield700Mean10StdDev1);
const DoWStruct lDoWSrtuct ("1111111");
const Date_T lDateRangeStart (2010, boost::gregorian::Feb, 8);
const Date_T lDateRangeEnd (2010, boost::gregorian::Feb, 9);
const DatePeriod_T lDatePeriod (lDateRangeStart, lDateRangeEnd);
const PeriodStruct lPeriodStruct (lDatePeriod,lDoWSrtuct);
FlightPeriodKey lFlightPeriodKey (lFlightNumber, lPeriodStruct);
FlightPeriod& lSQ11FlightPeriod =
FacBom<FlightPeriod>::instance().create (lFlightPeriodKey);
SegmentPeriodKey lSegmentPeriodKey (lSIN, lBKK);
SegmentPeriod& lSINBKKSegmentPeriod =
FacBom<SegmentPeriod>::instance().create (lSegmentPeriodKey);
lSINBKKSegmentPeriod.setBoardingTime (l0820);
lSINBKKSegmentPeriod.setOffTime (l1100);
lSINBKKSegmentPeriod.setElapsedTime (l0340);
lSINBKKSegmentPeriod.addCabinBookingClassList (lY,lYM);
lFlightPeriodKey = FlightPeriodKey(lFlightNumber, lPeriodStruct);
FlightPeriod& lCX12FlightPeriod =
FacBom<FlightPeriod>::instance().create (lFlightPeriodKey);
lSegmentPeriodKey = SegmentPeriodKey (lBKK, lHKG);
SegmentPeriod& lBKKHKGSegmentPeriod =
FacBom<SegmentPeriod>::instance().create (lSegmentPeriodKey);
lBKKHKGSegmentPeriod.setBoardingTime (l1200);
lBKKHKGSegmentPeriod.setOffTime (l1540);
lBKKHKGSegmentPeriod.setElapsedTime (l0240);
lBKKHKGSegmentPeriod.addCabinBookingClassList (lY,lYM);
}
void CmdBomManager::buildPartnershipsSamplePricing (BomRoot& ioBomRoot) {
AirportPairKey lAirportPairKey ("SIN", "BKK");
AirportPair& lSINBKKAirportPair =
FacBom<AirportPair>::instance().create (lAirportPairKey);
const Date_T lDateRangeStart (2010, boost::gregorian::Jan, 15);
const Date_T lDateRangeEnd (2010, boost::gregorian::Dec, 31);
const DatePeriod_T lDateRange (lDateRangeStart, lDateRangeEnd);
const DatePeriodKey lDatePeriodKey (lDateRange);
DatePeriod& lSINBKKDatePeriod =
FacBom<DatePeriod>::instance().create (lDatePeriodKey);
PosChannelKey lPosChannelKey ("SIN","IN");
PosChannel& lSINPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
const Time_T lTimeRangeStart (0, 0, 0);
const Time_T lTimeRangeEnd (23, 0, 0);
const TimePeriodKey lFareTimePeriodKey (lTimeRangeStart,
lTimeRangeEnd);
TimePeriod& lSINBKKFareTimePeriod =
FacBom<TimePeriod>::instance().create (lFareTimePeriodKey);
FareFeatures& lSINBKKFareFeatures =
FacBom<FareFeatures>::instance().create (lFareFeaturesKey);
lSQAirlineCodeList.push_back ("SQ");
lYClassCodeList.push_back ("Y");
const AirlineClassListKey lSQAirlineYClassListKey (lSQAirlineCodeList,
lYClassCodeList);
lMClassCodeList.push_back ("M");
const AirlineClassListKey lSQAirlineMClassListKey (lSQAirlineCodeList,
lMClassCodeList);
AirlineClassList& lSQAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lSQAirlineYClassListKey);
lSQAirlineYClassList.setFare(700);
AirlineClassList& lSQAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lSQAirlineMClassListKey);
lSQAirlineMClassList.setFare(500);
lAirportPairKey = AirportPairKey ("BKK", "HKG");
AirportPair& lBKKHKGAirportPair =
FacBom<AirportPair>::instance().create (lAirportPairKey);
DatePeriod& lBKKHKGDatePeriod =
FacBom<DatePeriod>::instance().create (lDatePeriodKey);
lPosChannelKey = PosChannelKey("BKK","IN");
PosChannel& lBKKPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
TimePeriod& lBKKHKGFareTimePeriod =
FacBom<TimePeriod>::instance().create (lFareTimePeriodKey);
FareFeatures& lBKKHKGFareFeatures =
FacBom<FareFeatures>::instance().create (lFareFeaturesKey);
lCXAirlineCodeList.push_back ("CX");
const AirlineClassListKey lCXAirlineYClassListKey (lCXAirlineCodeList,
lYClassCodeList);
const AirlineClassListKey lCXAirlineMClassListKey (lCXAirlineCodeList,
lMClassCodeList);
AirlineClassList& lCXAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lCXAirlineYClassListKey);
lCXAirlineYClassList.setFare(700);
AirlineClassList& lCXAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lCXAirlineMClassListKey);
lCXAirlineMClassList.setFare(500);
lAirportPairKey = AirportPairKey ("SIN", "HKG");
AirportPair& lSINHKGAirportPair =
FacBom<AirportPair>::instance().create (lAirportPairKey);
DatePeriod& lSINHKGDatePeriod =
FacBom<DatePeriod>::instance().create (lDatePeriodKey);
lPosChannelKey = PosChannelKey("SIN","IN");
PosChannel& lOnDSINPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
TimePeriod& lSINHKGFareTimePeriod =
FacBom<TimePeriod>::instance().create (lFareTimePeriodKey);
FareFeatures& lSINHKGFareFeatures =
FacBom<FareFeatures>::instance().create (lFareFeaturesKey);
lSQ_CXAirlineCodeList.push_back ("SQ");
lSQ_CXAirlineCodeList.push_back ("CX");
lY_YClassCodeList.push_back ("Y");
lY_YClassCodeList.push_back ("Y");
const AirlineClassListKey lSQ_CXAirlineYClassListKey (lSQ_CXAirlineCodeList,
lY_YClassCodeList);
lM_MClassCodeList.push_back ("M");
lM_MClassCodeList.push_back ("M");
const AirlineClassListKey lSQ_CXAirlineMClassListKey (lSQ_CXAirlineCodeList,
lM_MClassCodeList);
AirlineClassList& lSQ_CXAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lSQ_CXAirlineYClassListKey);
lSQ_CXAirlineYClassList.setFare(1200);
AirlineClassList& lSQ_CXAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lSQ_CXAirlineMClassListKey);
lSQ_CXAirlineMClassList.setFare(850);
PosChannel& lRAC_SINBKKPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
const TimePeriodKey lYieldTimePeriodKey (lTimeRangeStart,
lTimeRangeEnd);
TimePeriod& lSINBKKYieldTimePeriod =
FacBom<TimePeriod>::instance().create (lYieldTimePeriodKey);
YieldFeatures& lSINBKKYieldFeatures =
FacBom<YieldFeatures>::instance().create (lYieldFeaturesKey);
AirlineClassList& lRAC_SQAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lSQAirlineYClassListKey);
lRAC_SQAirlineYClassList.setYield(700);
AirlineClassList& lRAC_SQAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lSQAirlineMClassListKey);
lRAC_SQAirlineMClassList.setYield(500);
PosChannel& lRAC_BKKHKGPosChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
TimePeriod& lBKKHKGYieldTimePeriod =
FacBom<TimePeriod>::instance().create (lYieldTimePeriodKey);
YieldFeatures& lBKKHKGYieldFeatures =
FacBom<YieldFeatures>::instance().create (lYieldFeaturesKey);
AirlineClassList& lRAC_CXAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lCXAirlineYClassListKey);
lRAC_CXAirlineYClassList.setYield(700);
AirlineClassList& lRAC_CXAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lCXAirlineMClassListKey);
lRAC_CXAirlineMClassList.setYield(500);
PosChannel& lRAC_SINHKGChannel =
FacBom<PosChannel>::instance().create (lPosChannelKey);
TimePeriod& lSINHKGYieldTimePeriod =
FacBom<TimePeriod>::instance().create (lYieldTimePeriodKey);
YieldFeatures& lSINHKGYieldFeatures =
FacBom<YieldFeatures>::instance().create (lYieldFeaturesKey);
AirlineClassList& lRAC_SQ_CXAirlineYClassList =
FacBom<AirlineClassList>::instance().create (lSQ_CXAirlineYClassListKey);
lRAC_SQ_CXAirlineYClassList.setYield(1200);
AirlineClassList& lRAC_SQ_CXAirlineMClassList =
FacBom<AirlineClassList>::instance().create (lSQ_CXAirlineMClassListKey);
lRAC_SQ_CXAirlineMClassList.setYield(850);
}
}