| Server IP : 103.234.187.230 / Your IP : 216.73.216.216 Web Server : Apache System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/b2bzend/application/controllers/ |
Upload File : |
<?php
/* * ***************
* Zend Framework
* @category Zend
* @package Zend_Controller_Action
* @copyright Copyright (c) 2008-2014 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DbTable.php 8862 2012-03-16 15:36:00Z thomas $
* @author Pardeep Panchal(pardeep.kp86@gmail.com).
* Deals with the flight booking comes through CRM emails to customer
*
* Create Date 17-10-2016
* Update Date 17-10-2016
* *** */
class FlightProposalController extends Catabatic_ValidateCustomer
{
public $AgencySysId = '';
public $AgentSysId = '';
public $baseUrl = '';
public function init()
{
error_reporting(1);
$this->_helper->layout->setLayout('layout-flight-proposal');
$request = Zend_Controller_Front::getInstance()->getRequest();
$this->baseUrl = $request->getScheme() . '://' . $request->getHttpHost();
############## For HTML Purifer ####################
$this->_HtmlPurifier = new Zend_Filter_HtmlPurifier();
$this->SMSURL = Catabatic_Helper::getSMSURL();
$this->SMSMETHOD = Catabatic_Helper::getSMSMETHOD();
$this->SMSAPIKEY = Catabatic_Helper::getSMSAPIKEY();
$this->SMSSENDER = Catabatic_Helper::getSMSSENDER();
$this->SMSFORMAT = Catabatic_Helper::getSMSFORMAT();
$this->BITLYLOGIN = 'gpurwar';
$this->BITLYAPIKEY = 'R_c1c94b5c789249d5a59d585bc0e7ef80';
$this->CurrencyRate = 1;
$this->CurrencyTitle = 'INR';
$this->CurrencyId = 1;
$this->_objFlight = new Travel_Model_TblFlight();
}
public function checkFlightPaymentAction()
{
session_start();
$objFlight = new Travel_Model_TblFlight();
$this->_storage = new Zend_Session_Namespace('AgencyUser');
$strUrlData = $this->view->strUrlData = $this->getRequest()->getParam('data');
$FlightTempData = $objFlight->GetFlightTempData($strUrlData);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$AgencySysId = $arrUrlData['sessionLogin_user']['intLoggedinUserAgencySysId'];
$row = $objFlight->getAgencyDataById($AgencySysId);
$this->_storage->user = (object) $row;
$_SESSION['sessionLogin_user'] = $arrUrlData['sessionLogin_user'];
echo "<pre>";
print_r($row);
die;
// print_r($arrUrlData['sessionLogin_user']);
// die;
if ($arrUrlData['sessionLogin_user']) {
$this->_redirect('/flight/book-flight/data/' . $strUrlData);
} else {
die('Invalid link');
}
}
public function viewFlightProposalCheckAction()
{
$objFlight = new Travel_Model_TblFlight();
$TPSysId = base64_decode($this->_request->getParam('id'));
$isagency = ($this->_request->getParam('isagency'));
Zend_Session::namespaceUnset('isagencySession');
$isagencySession = new Zend_Session_Namespace('isagencySession');
$isagencySession->params = $isagency;
$traceIDData = $objFlight->GetFlightTempDataByTPSysId($TPSysId);
// print_r($isagency);
// print_r($traceIDData);
// die;
if ($traceIDData) {
if($isagency == 1){
//$this->_redirect('/flight-proposal/view-flight-proposal-new/id/' . $traceIDData['TraceId']);
$this->_redirect('/flight/search-result-new/SearchID/' . $traceIDData['TraceId']);
}else{
$this->_redirect('/flight-proposal/view-flight-proposal-new/id/' . $traceIDData['TraceId']);
}
} else {
die('Invalid link');
}
}
public function viewFlightProposalNewAction()
{
$objFlight = new Travel_Model_TblFlight();
$getData = $this->getRequest()->getParams();
$isCustomer = isset($getData['cust']) ? $getData['cust'] : 0;
$isagencySession = new Zend_Session_Namespace('isagencySession');
$isagency = $this->view->isagencySession = isset($isagencySession->params) ? $isagencySession->params : 0;
$traceID = $this->view->traceID = ($this->_request->getParam('id'));
if ($isCustomer == 1) {
Zend_Session::namespaceUnset('isagencySession');
$this->_redirect('/flight-proposal/view-flight-proposal-new/id/' . $traceID);
}
$FlightTempData = $objFlight->GetFlightTempData($traceID);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
//echo "<pre>";print_r($FlightTempData);exit;
$FlightBookingData = $this->view->FlightBookingData = ($arrUrlData['postData']['item']);
$addMarkupArr = $arrUrlData['postData']['addMarkup'];
$DiscountValueArr = $arrUrlData['postData']['discountvalue'];
$mobilenumber = $arrUrlData['postData']['mobilenumber'];
$countrycode = $arrUrlData['postData']['countrycode'];
$emailId = $arrUrlData['postData']['emailId'];
$leadId = $arrUrlData['postData']['leadId']?$arrUrlData['postData']['leadId']:$FlightTempData['TPSysId'];
$customername = $arrUrlData['postData']['customername'];
$senderEmailID = $arrUrlData['postData']['senderEmailID'];
$remarks = $arrUrlData['postData']['remarks'];
$ccemail = $arrUrlData['postData']['ccemail'];
$CustomerSysId = $arrUrlData['postData']['CustomerSysId'];
$IsB2BAgent = $arrUrlData['postData']['IsB2BAgent'];
$aId = $arrUrlData['postData']['aId'];
$TPSysId = $this->view->TPSysId = isset($FlightTempData['TPSysId']) ? $FlightTempData['TPSysId'] : 0;
$bookingAllowed = $this->view->bookingAllowed = isset($arrUrlData['postData']['bookingAllowed']) ? $arrUrlData['postData']['bookingAllowed'] : 0;
$sessionFlightSearchParams = $this->view->sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
//$TraceId = implode('-', str_split(substr(strtolower(md5(time() . rand(1000, 9999))), 0, 20), 5)); arrAgencyDetails
$sessionFlightSearchParams['SearchTraceId'] = $traceID;
$this->view->interNationalSearch = $interNationalSearch = $sessionFlightSearchParams['interNationalSearch'];
$this->view->route = $route = $sessionFlightSearchParams['route'];
$departureDates = $sessionFlightSearchParams['departure_dates'];
$arrDepartureDates = explode("/", $departureDates);
$this->view->departureDates = $arrDepartureDates[2] . "/" . $arrDepartureDates[1] . "/" . ($arrDepartureDates[0]);
$returnDates = $sessionFlightSearchParams['return_dates'];
$arrreturnDates = explode("/", $returnDates);
$this->view->returnDates = $arrreturnDates[2] . "/" . $arrreturnDates[1] . "/" . ($arrreturnDates[0]);
$this->view->baseUrl = $this->baseUrl;
$this->view->IntMarkupArr = json_encode($addMarkupArr);
$objFlightProposal = new Travel_Model_TblFlightProposal();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId, 'query');
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$getAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
// echo "<pre>";print_r($leadId);
// echo "<pre>";print_r($arrAgencyDetails);
// echo "<pre>";print_r($arrUrlData);
// die;
$crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$arrAgentDetail = $this->view->arrAgentDetail = $crmcusttravelplan->getAgentDetails($AgentSysId);
$this->view->IsCheckWallet = $IsCheckWallet = isset($getAgencyDetail['IsCheckWallet']) ? $getAgencyDetail['IsCheckWallet'] : 0;
$arrRoomInfoJson = json_decode($arrAgencyDetails['RoomInfoJson'], true);
if ($this->getRequest()->isXmlHttpRequest()) {
$outbound = [];
$inbound = [];
$index = 0;
$ExtraMarkupShare = [];
$ddddddddInb = [];
$dddddddd = [];
$AirlineCode = [];
$fareIdentifierInb = [];
$fareIdentifier = [];
$FlightNumberInb = [];
$FlightNumber = [];
$FlightNumberOut = [];
$FromUTCTimeInb = [];
$ToUTCTimeInb = [];
$FromUTCTimeOut = [];
$ToUTCTimeInbOut = [];
$classOfBookingInb = [];
$classOfBookingOut = [];
$TotalMarkupWithTaxArr = [];
$strMarkupArrInb = [];
$strDiscountValueInb = [];
$strMarkupArrOut = [];
$strDiscountValueOut = [];
$FareClassOut = [];
$FareClassInb = [];
$FilterKey_ = [];
$FareKey_ = [];
$IsSeriesFareData = isset($FlightBookingData[0]['IsSeriesFareData']) ? $FlightBookingData[0]['IsSeriesFareData'] : 0;
$ICSourceSysId = isset($FlightBookingData[0]['ICSourceSysId']) ? $FlightBookingData[0]['ICSourceSysId'] : 0;
//echo count($FlightBookingData);
if ($IsSeriesFareData == 0) {
if ($FlightBookingData) {
foreach ($FlightBookingData as $val) {
$addMarkup = $addMarkupArr[$index];
$discount = isset($DiscountValueArr[$index]) ? $DiscountValueArr[$index] : 0;
$arrServiceTaxOnNetPayable = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getApiServiceTax(($addMarkup - $discount), "F", 0);
$MarkupArrayServiceTax = (!empty($arrServiceTaxOnNetPayable['serviceTaxAmount']) && $arrServiceTaxOnNetPayable['serviceTaxAmount'] > 0) ? $arrServiceTaxOnNetPayable['serviceTaxAmount'] : 0;
$TotalMarkupWithTax = $addMarkup + $MarkupArrayServiceTax;
$TotalMarkupWithTaxArr[] = $TotalMarkupWithTax;
$FairRulesarrInb = [];
$FairRulesarr = [];
if ($interNationalSearch == '1' && $route == '2') {
if ($val['FairRules']) {
foreach ($val['FairRules'] as $kk => $Fare) {
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
if ($bookingAllowed == 2) {
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
}
$FairRulesarr[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarr[$kk]['DiscountValue'] = ($discount);
$FairRulesarr[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$fareIdentifier[] = $Fare['fareIdentifier'];
$classOfBookingOut[] = $Fare['classOfBooking'];
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
}
}
$outbound[$index] = $val;
if ($bookingAllowed == 2) {
$outbound[$index]['ICSourceSysId'] = 9;
}
$outbound[$index]['FairRules'] = $FairRulesarr;
$FlightNumber[] = $val['origin']['FlightNumber'];
$FlightNumberOut[] = $val['destination']['FlightNumber'];
$FareClassOut[] = $val['origin']['FareClass'];
$FareClassInb[] = $val['destination']['FareClass'];
$FromUTCTimeOut[] = $val['origin']['FromUTCTime'];
$ToUTCTimeInbOut[] = $val['origin']['ToUTCTime'];
$FromUTCTimeInb[] = $val['destination']['FromUTCTime'];
$ToUTCTimeInb[] = $val['destination']['ToUTCTime'];
$strMarkupArrOut[] = $val['ExtraMarkup'];
$strDiscountValueOut[] = $val['DiscountValue'];
$AirlineCode[$index] = $val['origin']['AirlineCode'];
$AirlineCode[$index] = $val['destination']['AirlineCode'];
} else {
if ($val['JourneyType'] == 2) {
if ($val['FairRules']) {
foreach ($val['FairRules'] as $kk => $Fare) {
$FairRulesarrInb[$kk] = $Fare;
$FairRulesarrInb[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
if ($bookingAllowed == 2) {
$FairRulesarrInb[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
}
$FairRulesarrInb[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarrInb[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarrInb[$kk]['DiscountValue'] = ($discount);
$FairRulesarrInb[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$fareIdentifierInb[] = $Fare['fareIdentifier'];
$classOfBookingInb[] = $Fare['classOfBooking'];
$ddddddddInb[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
if ($route == '3') {
$fareIdentifier[$val['JourneyType']][] = $Fare['fareIdentifier'];
$classOfBookingOut[$val['JourneyType']][] = $Fare['classOfBooking'];
$FareKey_[$val['JourneyType']][] = $Fare['FareKey'];
}
}
}
if ($bookingAllowed == 2) {
$inbound[$index]['ICSourceSysId'] = 9;
}
$MulticityKey = $val['SourceAirportCode'].'_'.$val['DestAirportCode'];
if ($route == '3') {
if ($interNationalSearch == '1') {
$inbound[$index] = $val;
$inbound[$index]['FairRules'] = $FairRulesarrInb;
$FilterKey_[$val['JourneyType']][] = $val['FilterKey'];
}else{
$inbound[$MulticityKey][$index] = $val;
$inbound[$MulticityKey][$index]['FairRules'] = $FairRulesarrInb;
$FareClassOut[$val['JourneyType']][] = $val['FareClass'];
$FlightNumber[$val['JourneyType']][] = $val['FlightNumber'];
$FromUTCTimeOut[$val['JourneyType']][] = $val['FromUTCTime'];
$ToUTCTimeInbOut[$val['JourneyType']][] = $val['ToUTCTime'];
}
}else{
$inbound[$index] = $val;
$inbound[$index]['FairRules'] = $FairRulesarrInb;
}
$fno = explode('-', $val['FlightNumber']);
$FlightNumberInb[] = $val['FlightNumber'];
$FromUTCTimeInb[] = $val['FromUTCTime'];
$ToUTCTimeInb[] = $val['ToUTCTime'];
$FareClassInb[] = $val['FareClass'];
//$strMarkupArrInb[] = $addMarkup;
$strMarkupArrInb[] = $val['ExtraMarkup'];
$strDiscountValueInb[] = $val['DiscountValue'];
} else {
if ($val['FairRules']) {
foreach ($val['FairRules'] as $kk => $Fare) {
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
if ($bookingAllowed == 2) {
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
}
$FairRulesarr[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarr[$kk]['DiscountValue'] = ($discount);
$FairRulesarr[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$fareIdentifier[] = $Fare['fareIdentifier'];
$classOfBookingOut[] = $Fare['classOfBooking'];
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
}
}
$outbound[$index] = $val;
if ($bookingAllowed == 2) {
$outbound[$index]['ICSourceSysId'] = 9;
}
$outbound[$index]['FairRules'] = $FairRulesarr;
$fno = explode('-', $val['FlightNumber']);
$FlightNumber[] = $fno[1];
$FlightNumberOut[] = $val['FlightNumber'];
$FareClassOut[] = $val['FareClass'];
$FromUTCTimeOut[] = $val['FromUTCTime'];
$ToUTCTimeInbOut[] = $val['ToUTCTime'];
$strMarkupArrOut[] = $val['ExtraMarkup'];
$strDiscountValueOut[] = $val['DiscountValue'];
}
$ExtraMarkupShare[$val['JourneyType']][] = ['addMarkup'=>$addMarkup,'addMarkupTax'=>$MarkupArrayServiceTax,'discount'=>$discount];
$AirlineCode[] = $val['AirlineCode'];
}
$index++;
}
}
$share_proposal_data = [
'FilterKey'=>$FilterKey_,
'FareKey'=>$FareKey_,
'fareIdentifier'=>$fareIdentifier,
'classOfBooking'=>$classOfBookingOut,
'ExtraMarkupShare'=>$ExtraMarkupShare,
'FareClassArr'=>$FareClassOut,
'FlightNumber'=>$FlightNumber,
'FromUTCTime'=>$FromUTCTimeOut,
'ToUTCTime'=>$ToUTCTimeInbOut,
];
// echo '<pre>';
// print_r($share_proposal_data);die;
$MultiHead = [];
if ($sessionFlightSearchParams['sourceCityText'] && $route == '3') {
foreach ($sessionFlightSearchParams['sourceCityText'] as $sk => $source_) {
$destination_ = isset($sessionFlightSearchParams['destinationCityText'][$sk]) ? explode(',', $sessionFlightSearchParams['destinationCityText'][$sk]) : '';
$source_ = isset($source_) ? explode(',', $source_) : '';
$departure_date_ = isset($sessionFlightSearchParams['departure_dates'][$sk]) ? $sessionFlightSearchParams['departure_dates'][$sk] : '';
$sourceCityAirportCode = isset($sessionFlightSearchParams['sourceCityAirportCode'][$sk]) ? $sessionFlightSearchParams['sourceCityAirportCode'][$sk] : '';
$destinationCityAirportCode = isset($sessionFlightSearchParams['destinationCityAirportCode'][$sk]) ? $sessionFlightSearchParams['destinationCityAirportCode'][$sk] : '';
$MulticityKey = $sourceCityAirportCode.'_'.$destinationCityAirportCode;
$MultiHead[] = array(
'source' => $source_[0],
'destination' => $destination_[0],
'departure_date' => $departure_date_,
//'strDepatureDate' => $strDepatureDate__,
);
if($interNationalSearch != 1){
$outbound[$sk] = array(
'source' => $source_[0],
'destination' => $destination_[0],
'departure_date' => $departure_date_,
'FD' => isset($inbound[$MulticityKey])?array_values($inbound[$MulticityKey]):[],
);
}else{
$outbound = $inbound;
}
}
$inbound = [];
}
if ($bookingAllowed == 2) {
// echo '<pre>';
// print_r($outbound);die;
$dddddddd = array_merge($dddddddd, $ddddddddInb);
sort($dddddddd);
$MaxriceRange = $this->getMax($dddddddd);
$MinriceRange = $this->getMin($dddddddd);
$data = array('outbound' => array_values($outbound), 'inbound' => array_values($inbound),'MultiHead'=>$MultiHead, 'FlightRoute'=>$route,'interNationalSearch'=>$interNationalSearch, 'CurrencyTitle' => $this->CurrencyTitle, 'FiltPrice' => [], 'MinriceRange' => round($MinriceRange), 'MaxriceRange' => round($MaxriceRange));
echo json_encode($data);
exit;
}
// echo '<pre>';
// print_r($FlightNumberOut);
// print_r($fareIdentifier);
// print_r($FareClassOut);
// print_r($ToUTCTimeInbOut);
// print_r($FromUTCTimeOut);
if ($ICSourceSysId == 3) {
$sessionFlightSearchParams['preferredAirline'] = array_values(array_unique($AirlineCode));
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->searchApiFlights($sessionFlightSearchParams, $AgencySysId);
} else {
$sessionFlightSearchParams['preferredAirline'] = array_values(array_unique($AirlineCode));
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->searchApiFlightsTripJack($sessionFlightSearchParams, $AgencySysId);
}
// $FlightSearchResults = new Zend_Session_Namespace('FlightSearchResults');
// $apiResponse = $FlightSearchResults->params;
// echo '<pre>';
// print_r($apiResponse);die;
$SearchParam = array(
'sessionFlightSearchParams' => $sessionFlightSearchParams,
'addMarkupArr' => $addMarkupArr,
'AgencySysId' => $AgencySysId,
'FlightNumber' => $FlightNumber,
'apiResponse' => $apiResponse,
'bookingAllowed' => $bookingAllowed,
);
if ($ICSourceSysId == 3) {
$getflightsearch = $this->FlightDataTBO($SearchParam);
} else {
$getflightsearch = $this->getflightsearch($SearchParam);
}
// echo '<pre>';
// print_r($getflightsearch);die('sss');
$SelectedFilter = [];
$outbound = [];
$inbound = [];
if ($interNationalSearch == '1' && $route == '2') {
if($getflightsearch['outbound']){
foreach ($getflightsearch['outbound'] as $key => $outb) {
foreach ($FlightNumber as $k => $flnum) {
$FlightNumber_ = $FlightNumberOut[$k];
$Identifier = $fareIdentifier[$k];
$classOfBooking = $classOfBookingOut[$k];
$addMarkup = $strMarkupArrOut[$k];
$discount = isset($strDiscountValueOut[$k]) ? $strDiscountValueOut[$k] : 0;
$ToUTCTime = $ToUTCTimeInbOut[$k];
$FromUTCTime = $FromUTCTimeOut[$k];
$ToUTCTimeInb_ = $ToUTCTimeInb[$k];
$FareClass = $FareClassOut[$k];
$arrServiceTaxOnNetPayable = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getApiServiceTax(($addMarkup - $discount), "F", 0);
$MarkupArrayServiceTax = (!empty($arrServiceTaxOnNetPayable['serviceTaxAmount']) && $arrServiceTaxOnNetPayable['serviceTaxAmount'] > 0) ? $arrServiceTaxOnNetPayable['serviceTaxAmount'] : 0;
$TotalMarkupWithTax = $addMarkup + $MarkupArrayServiceTax;
$TotalMarkupWithTaxArr[] = $TotalMarkupWithTax;
if ($flnum == trim($outb['origin']['FlightNumber']) && $FromUTCTime == trim($outb['origin']['FromUTCTime']) && $ToUTCTimeInb_ == $outb['destination']['ToUTCTime']) {
$FairRulesarr = [];
if ($outb['FairRules']) {
foreach ($outb['FairRules'] as $kk => $Fare) {
if (trim($Fare['fareIdentifier']) == $Identifier && trim($Fare['classOfBooking']) == $classOfBooking) {
$FareBreakdown = [];
$segmentCount = count($Fare['FareBreakdown']);
if ($Fare['FareBreakdown']) {
foreach ($Fare['FareBreakdown'] as $sg => $seg) {
$FareBreakdown[$sg] = $seg;
$FareBreakdown[$sg]['ExtraMarkup'] = ($addMarkup / $segmentCount);
$FareBreakdown[$sg]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax / $segmentCount);
$FareBreakdown[$sg]['DiscountValue'] = ($discount / $segmentCount);
$FareBreakdown[$sg]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
}
}
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
$FairRulesarr[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarr[$kk]['DiscountValue'] = ($discount);
$FairRulesarr[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$FairRulesarr[$kk]['FareBreakdown'] = ($FareBreakdown);
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
//break;
$outbound[$k] = $outb;
}
}
}
$outbound[$k]['FairRules'] = array_values($FairRulesarr);
}
}
}
}
// echo '<pre>';
// print_r($outbound);
// die('qqq');
// $dddddddd = $getflightsearch['dddddddd'];
$MaxriceRange = $this->getMax($dddddddd);
$MinriceRange = $this->getMin($dddddddd);
$FiltPrice = [];
$data = array('outbound' => array_values($outbound), 'inbound' => [], 'CurrencyTitle' => $this->CurrencyTitle, 'FiltPrice' => [], 'MinriceRange' => round($MinriceRange), 'MaxriceRange' => round($MaxriceRange));
echo json_encode($data);
exit;
}elseif($route == '3'){
$FilterKey__ = isset($share_proposal_data['FilterKey'][2])?$share_proposal_data['FilterKey'][2]:[];
$FareKey__ = isset($share_proposal_data['FareKey'][2])?$share_proposal_data['FareKey'][2]:[];
$FlightNumber__ = isset($share_proposal_data['FlightNumber'][2])?$share_proposal_data['FlightNumber'][2]:[];
$FareClass__ = isset($share_proposal_data['FareClassArr'][2])?$share_proposal_data['FareClassArr'][2]:[];
$FromUTCTime__ = isset($share_proposal_data['FromUTCTime'][2])?$share_proposal_data['FromUTCTime'][2]:[];
$ToUTCTime__ = isset($share_proposal_data['ToUTCTime'][2])?$share_proposal_data['ToUTCTime'][2]:[];
$classOfBooking__ = isset($share_proposal_data['classOfBooking'][2])?$share_proposal_data['classOfBooking'][2]:[];
$fareIdentifier__ = isset($share_proposal_data['fareIdentifier'][2])?$share_proposal_data['fareIdentifier'][2]:[];
$ExtraMarkupShare__ = isset($share_proposal_data['ExtraMarkupShare'][2])?$share_proposal_data['ExtraMarkupShare'][2]:[];
if(!empty($FlightNumber__) && $interNationalSearch != '1'){
foreach ($FlightNumber__ as $k => $flnum) {
$FareClass_ = $FareClass__[$k];
$ToUTCTime_ = $ToUTCTime__[$k];
$FromUTCTime_ = $FromUTCTime__[$k];
$fareIdentifier_ = $fareIdentifier__[$k];
$classOfBooking_ = $classOfBooking__[$k];
$ExtraMarkupShare_ = $ExtraMarkupShare__[$k];
$SelectedFilter[$k]['Flight'] = $flnum.''.$FareClass_.''.$ToUTCTime_.''.$FromUTCTime_;
$SelectedFilter[$k]['Fare'] = $fareIdentifier_.''.$classOfBooking_;
$SelectedFilter[$k]['Markup'] = $ExtraMarkupShare_;
}
}else{
if(!empty($FilterKey__)){
foreach ($FilterKey__ as $k => $flnum) {
$fareIdentifier_ = $fareIdentifier__[$k];
$classOfBooking_ = $classOfBooking__[$k];
$ExtraMarkupShare_ = $ExtraMarkupShare__[$k];
$SelectedFilter[$k]['Flight'] = $flnum;
$SelectedFilter[$k]['Fare'] = $fareIdentifier_.''.$classOfBooking_;
$SelectedFilter[$k]['Markup'] = $ExtraMarkupShare_;
}
}
}
$MultiHead = $getflightsearch['MultiHead'];
$outbound = $getflightsearch['outbound'];
$dddddddd = $getflightsearch['dddddddd'];
// echo '<pre>';
// print_r($outbound);
// die('bas');
}else{
foreach ($getflightsearch['outbound'] as $key => $outb) {
foreach ($FlightNumber as $k => $flnum) {
$FlightNumber_ = $FlightNumberOut[$k];
$Identifier = $fareIdentifier[$k];
$classOfBooking = $classOfBookingOut[$k];
$addMarkup = $strMarkupArrOut[$k];
$discount = isset($strDiscountValueOut[$k]) ? $strDiscountValueOut[$k] : 0;
$ToUTCTime = $ToUTCTimeInbOut[$k];
$FromUTCTime = $FromUTCTimeOut[$k];
$FareClass = $FareClassOut[$k];
$arrServiceTaxOnNetPayable = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getApiServiceTax(($addMarkup - $discount), "F", 0);
$MarkupArrayServiceTax = (!empty($arrServiceTaxOnNetPayable['serviceTaxAmount']) && $arrServiceTaxOnNetPayable['serviceTaxAmount'] > 0) ? $arrServiceTaxOnNetPayable['serviceTaxAmount'] : 0;
$TotalMarkupWithTax = $addMarkup + $MarkupArrayServiceTax;
$TotalMarkupWithTaxArr[] = $TotalMarkupWithTax;
if ($FlightNumber_ == trim($outb['FlightNumber']) && $FareClass == trim($outb['FareClass']) && $ToUTCTime == trim($outb['ToUTCTime']) && $FromUTCTime == trim($outb['FromUTCTime'])) {
// if($AgencySysId == '2656'){
// echo 'AgencySysId'.$AgencySysId;
// echo $FlightNumber_ . '=' . $outb['FlightNumber'] . '=' . $FareClass . '== ' . $outb['FareClass'] . '=' . $ToUTCTime . '== ' . $outb['ToUTCTime'] . '=' . $FromUTCTime . '== ' . $outb['FromUTCTime'] . '<br>######################';
// }
$FairRulesarr = [];
if ($outb['FairRules']) {
foreach ($outb['FairRules'] as $kk => $Fare) {
// if($AgencySysId == '2656'){
// echo '<pre>';
// print_r($Identifier . '--------' . $Fare['fareIdentifier']);
// echo '<pre>';
// print_r($classOfBooking . '---------' . $Fare['classOfBooking']);
// }
if (trim(strtoupper($Fare['fareIdentifier'])) == strtoupper($Identifier) && trim($Fare['classOfBooking']) == $classOfBooking) {
$FareBreakdown = [];
$segmentCount = count($Fare['FareBreakdown']);
if ($Fare['FareBreakdown']) {
foreach ($Fare['FareBreakdown'] as $sg => $seg) {
$FareBreakdown[$sg] = $seg;
$FareBreakdown[$sg]['ExtraMarkup'] = ($addMarkup / $segmentCount);
$FareBreakdown[$sg]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax / $segmentCount);
$FareBreakdown[$sg]['DiscountValue'] = ($discount / $segmentCount);
$FareBreakdown[$sg]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
}
}
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
$FairRulesarr[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarr[$kk]['DiscountValue'] = ($discount);
$FairRulesarr[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$FairRulesarr[$kk]['FareBreakdown'] = ($FareBreakdown);
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
//break;
$outbound[$k] = $outb;
}
}
}
// echo '<pre>';
// print_r($FairRulesarr);
// $outbound[$k] = $outb;
//if ($ICSourceSysId != 3) {
$outbound[$k]['FairRules'] = array_values($FairRulesarr);
//}
}
}
}
//die('sww');
if (!empty($getflightsearch['inbound'])) {
foreach ($getflightsearch['inbound'] as $key => $outb) {
foreach ($FlightNumberInb as $k => $flnum) {
$Identifier = $fareIdentifierInb[$k];
$FlightNumber_ = $FlightNumberInb[$k];
$classOfBooking = $classOfBookingInb[$k];
$FromUTCTime = $FromUTCTimeInb[$k];
$ToUTCTime = $ToUTCTimeInb[$k];
$FareClass = $FareClassInb[$k];
$addMarkup = $strMarkupArrInb[$k];
$discount = isset($strDiscountValueInb[$k]) ? $strDiscountValueInb[$k] : 0;
$arrServiceTaxOnNetPayable = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getApiServiceTax(($addMarkup - $discount), "F", 0);
$MarkupArrayServiceTax = (!empty($arrServiceTaxOnNetPayable['serviceTaxAmount']) && $arrServiceTaxOnNetPayable['serviceTaxAmount'] > 0) ? $arrServiceTaxOnNetPayable['serviceTaxAmount'] : 0;
$TotalMarkupWithTax = $addMarkup + $MarkupArrayServiceTax;
$TotalMarkupWithTaxArr[] = $TotalMarkupWithTax;
if ($FlightNumber_ == trim($outb['FlightNumber']) && $FareClass == trim($outb['FareClass']) && $ToUTCTime == trim($outb['ToUTCTime']) && $FromUTCTime == trim($outb['FromUTCTime'])) {
$FairRulesarr = [];
if ($outb['FairRules']) {
foreach ($outb['FairRules'] as $kk => $Fare) {
if (trim($Fare['fareIdentifier']) == $Identifier && trim($Fare['classOfBooking']) == $classOfBooking) {
$FareBreakdown = [];
$segmentCount = count($Fare['FareBreakdown']);
if ($Fare['FareBreakdown']) {
foreach ($Fare['FareBreakdown'] as $sg => $seg) {
$FareBreakdown[$sg] = $seg;
$FareBreakdown[$sg]['ExtraMarkup'] = ($addMarkup / $segmentCount);
$FareBreakdown[$sg]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax / $segmentCount);
$FareBreakdown[$sg]['DiscountValue'] = ($discount / $segmentCount);
$FareBreakdown[$sg]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
}
}
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
$FairRulesarr[$kk]['ExtraMarkup'] = ($addMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($MarkupArrayServiceTax);
$FairRulesarr[$kk]['DiscountValue'] = ($discount);
$FairRulesarr[$kk]['DiscountCoupon'] = ($discount > 0) ? 1 : 0;
$FairRulesarr[$kk]['FareBreakdown'] = ($FareBreakdown);
$ddddddddInb[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax - $discount);
//break;
$inbound[$k] = $outb;
}
}
}
//$inbound[$k] = $outb;
//if ($ICSourceSysId != 3) {
$inbound[$k]['FairRules'] = array_values($FairRulesarr);
//}
}
}
}
}
}
} else {
// echo '<pre>';
// print_r($FlightBookingData);
// die;
$outbound = [];
$inbound = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $key => $outb) {
$ExtraMarkup = $outb['ExtraMarkup'];
$ExtraMarkupOnGST = ($outb['ExtraMarkupOnGST'] > 0) ? $outb['ExtraMarkupOnGST'] : 0;
$TotalMarkupWithTax = ($ExtraMarkup + $ExtraMarkupOnGST);
$FairRulesarr = [];
if ($outb['JourneyType'] == 2) {
if ($outb['FairRules']) {
foreach ($outb['FairRules'] as $kk => $Fare) {
$FareBreakdownArr = [];
$FareBreakdown = count($Fare['FareBreakdown']);
foreach ($Fare['FareBreakdown'] as $kkk => $FareBreak) {
$FareBreakdownArr[$kkk] = $FareBreak;
$FareBreakdownArr[$kkk]['ExtraMarkup'] = (($ExtraMarkup) / $FareBreakdown);
$FareBreakdownArr[$kkk]['ExtraMarkupOnGST'] = (($ExtraMarkupOnGST) / $FareBreakdown);
}
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['FareBreakdown'] = $FareBreakdownArr;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
$FairRulesarr[$kk]['ExtraMarkup'] = ($ExtraMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($ExtraMarkupOnGST);
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
}
}
$inbound[$key] = $outb;
$inbound[$key]['FairRules'] = array_values($FairRulesarr);
} else {
if ($outb['FairRules']) {
foreach ($outb['FairRules'] as $kk => $Fare) {
$FareBreakdownArr = [];
$FareBreakdown = count($Fare['FareBreakdown']);
foreach ($Fare['FareBreakdown'] as $kkk => $FareBreak) {
$FareBreakdownArr[$kkk] = $FareBreak;
$FareBreakdownArr[$kkk]['ExtraMarkup'] = (($ExtraMarkup) / $FareBreakdown);
$FareBreakdownArr[$kkk]['ExtraMarkupOnGST'] = (($ExtraMarkupOnGST) / $FareBreakdown);
}
$FairRulesarr[$kk] = $Fare;
$FairRulesarr[$kk]['FareBreakdown'] = $FareBreakdownArr;
$FairRulesarr[$kk]['PublishedFare'] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
$FairRulesarr[$kk]['ExtraMarkup'] = ($ExtraMarkup);
$FairRulesarr[$kk]['ExtraMarkupOnGST'] = ($ExtraMarkupOnGST);
$dddddddd[] = ($Fare['PublishedFare'] + $TotalMarkupWithTax);
}
}
$outbound[$key] = $outb;
$outbound[$key]['FairRules'] = array_values($FairRulesarr);
}
//print_r($FairRulesarr);
}
}
// echo '<pre>';
// print_r($FlightBookingData);
// die;
}
// die;
$dddddddd = array_merge($dddddddd, $ddddddddInb);
sort($dddddddd);
$MaxriceRange = $this->getMax($dddddddd);
$MinriceRange = $this->getMin($dddddddd);
//$arrSearchedAirlinesPriceSlots = Zend_Controller_Action_HelperBroker::getStaticHelper('Filters')->getDynamicPriceSlots(round($MinriceRange), round($MaxriceRange));
$FiltPrice = [];
$data = array('SelectedFilter'=>$SelectedFilter,'outbound' => array_values($outbound), 'inbound' => array_values($inbound), 'MultiHead'=>$MultiHead, 'FlightRoute'=>$route,'interNationalSearch'=>$interNationalSearch, 'CurrencyTitle' => $this->CurrencyTitle, 'FiltPrice' => [], 'MinriceRange' => round($MinriceRange), 'MaxriceRange' => round($MaxriceRange));
echo json_encode($data);
exit;
}
}
public function getMarkupB2B($intCountryCode, $CustomerSysId, $B2BType, $intLoggedinUserId, $SecurityKey, $MasterAgencySysId) {
if ($intCountryCode) {
if($B2BType){
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$arrAgentDetail = $this->_crmcusttravelplan->getAgentDetails($intLoggedinUserId);
$crmcustomerObj = new Travel_Model_CRM_Customer();
$customerDetails = $crmcustomerObj->GetAgencyCustomerById($CustomerSysId);
$AgencySysId__ = isset($customerDetails['AgencySysId']) ? $customerDetails['AgencySysId'] : 0;
$B2bAgencyDetailById = $crmcustomerObj->GetAgencyDetailById($AgencySysId__);
$B2CAgencySysIdKey = $arrAgentDetail['SecurityKey'];
$B2BAgencySysIdKey = $B2bAgencyDetailById['SecurityKey'];
$apiDataIV = array(
"B2BAgencySysIdKey" => $B2BAgencySysIdKey,
"B2CAgencySysIdKey" => $B2CAgencySysIdKey,
"MasterAgencySysId" => $MasterAgencySysId,
"PlanType" => 1,
);
}else{
$apiDataIV = array(
'B2CAgencySysIdKey' => $SecurityKey,
'PlanType' => 1,
'IsB2C' => 1,
'MasterAgencySysId' => $MasterAgencySysId,
'IsB2CLoggedIn' => 0,
);
}
$model = new Gtxwebservices_Model_Webservices();
$result = json_decode($model->getMarkupAndServiceTaxNew($apiDataIV), true);
if (!empty(trim($intCountryCode)) && trim($intCountryCode) != "IN") {
$intAirType = 2;
} else {
$intAirType = 1;
}
$arrAgencyMarkups = [];
if ($result['data']) {
foreach ($result['data'] as $k => $vl) {
$ItemSourceType = $vl['ItemSourceType'];
if ($intAirType == $ItemSourceType) {
$arrAgencyMarkups[$k] = $vl;
$arrAgencyMarkups[$k]['CommssionType'] = 2;
$arrAgencyMarkups[$k]['CommssionVal'] = $vl['Commission'];
$arrAgencyMarkups[$k]['StdMarkUpPer'] = $vl['MarkUpValue'];
}
}
}
$TaxSetting = [];
if ($result['TaxSetting']) {
foreach ($result['TaxSetting'] as $ks => $val) {
$TaxSetting[$k] = $val;
$TaxSetting[$k]['Percentage'] = $val['TaxPercentage'];
}
}
return ['arrAgencyMarkups'=>$arrAgencyMarkups,'arrApiServiceTax'=>array_values($TaxSetting)];
}
}
public function getflightsearch($SearchParam)
{
//error_reporting(1);
$bookingAllowed = $SearchParam['bookingAllowed'];
$sessionFlightSearchParams = $SearchParam['sessionFlightSearchParams'];
$addMarkupArr = $SearchParam['addMarkupArr'];
$AgencySysId = $SearchParam['AgencySysId'];
$FlightNumberArr = $SearchParam['FlightNumber'];
$apiResponse = $SearchParam['apiResponse'];
$sessionFlightSearchParams['bookingAllowed'] = $bookingAllowed;
// echo "<pre>";
// print_r($FlightNumberArr); FlightNumberCode
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = $sessionFlightSearchParams['return_dates'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
//$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$strDepatureDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strDepatureDate, 'd/m/y');
$strReturnDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strReturnDate, 'd/m/y');
$intJourneyType = 1;
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltPriceRange = [];
$AttPriceRange = [];
$dddddddd = [];
// $FlightSearchResults = new Zend_Session_Namespace('FlightSearchResults');
// $apiResponse = $FlightSearchResults->params;
$intResponseStatus = $apiResponse['ResponseStatus'];
$ONWARD = $apiResponse['OutBoundFlightResults'];
$leadId = $sessionFlightSearchParams['editLeadId'];
$B2BType = (int) $sessionFlightSearchParams['B2BType'];
$CustomerSysId = $sessionFlightSearchParams['CustomerSysId'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$UserSysId = $sessionFlightSearchParams['UserSysId'];
$objAgency = new Travel_Model_TblAgency();
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$getMarkupB2B = $this->getMarkupB2B($intCountryCode, $CustomerSysId, $B2BType, $UserSysId, $arrAgencyDetails['SecurityKey'], $AgencySysId);
$getMarkup = $getMarkupB2B;
$MarketPlaceSysId = isset($getMarkup['arrAgencyMarkups'][0]['MarketPlaceSysId']) ? $getMarkup['arrAgencyMarkups'][0]['MarketPlaceSysId'] : 0;
$MasterId = isset($getMarkup['arrAgencyMarkups'][0]['MasterId']) ? $getMarkup['arrAgencyMarkups'][0]['MasterId'] : 0;
if(empty($MasterId) || $MasterId == 0){
$MarketPlaceSysId = $MarketPlaceSysId;
}else{
$MarketPlaceSysId = $MasterId;
}
// echo "<pre>";
// print_r($getMarkup);die;
$filterData = ['ApiSourceSysId' => 3];
$AdditionalMarkup = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getMarketPlace($MarketPlaceSysId,$filterData, $arrAgencyDetails['SecurityKey']);
if ($intResponseStatus == 1) {
if ($interNationalSearch == 1 && $strFlightRoute == 2) {
$RoundInterTrip = $this->FlightDataRoundTripInternational($apiResponse, $sessionFlightSearchParams, $AgencySysId, $AdditionalMarkup);
//$ddwwww = json_decode($RoundInterTrip, true);
// print_r($RoundInterTrip);
// die;
$dddddddd = array_merge($dddddddd, $RoundInterTrip['dddddddd']);
sort($dddddddd);
$FiltPrice = [];
$data = array('outbound' => $RoundInterTrip['outbound'], 'inbound' => [], 'FiltPrice' => $FiltPrice, 'CurrencyTitle' => $this->CurrencyTitle, 'dddddddd' => ($dddddddd));
return ($data);
}
if ($strFlightRoute == 3) {
$FlightDataMultiCity = $this->FlightDataMultiCity($apiResponse, $sessionFlightSearchParams, $AgencySysId, $getMarkup, $AdditionalMarkup);
return $FlightDataMultiCity;
}
if ($ONWARD) {
foreach ($ONWARD as $key => $result) {
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB']; //Cabin Baggage
$IsMealIncludes = isset($totalPriceList['fd']['ADULT']['mI']) ? $totalPriceList['fd']['ADULT']['mI'] : false;
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Check In Baggage
$strTraceId = $totalPriceList['id'];
$ResultIndex = $totalPriceList['id'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$segmentSector = [];
$arrSegments = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$TotalLAYOVERMinutes = 0;
if ($SegmentInformation) {
foreach ($SegmentInformation as $seg => $segments) {
//echo '<pre>';print_r($segments);
$segmentid = $segments['id'];
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"segmentid" => $segmentid,
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => ($seg + 1),
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
$segmentSector[$segmentid] = ['origin' => $originAirportCode, 'destination' => $destinationAirportCode];
//echo '<pre>';print_r($arrSegments);
}
}
// echo '<pre>';print_r($segmentSector);echo '</pre>';
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$PublishedFare = 0;
$PublishedFareReverse = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$FareBreakdown = [];
$FairRulesArr = [];
$intYQTaxToT = 0;
$intTotalOfferedForAllPax = 0;
$intBaseFareAllPax = 0;
$intTaxAllPax = 0;
array_multisort($result['totalPriceList']);
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
$tripbinfo = [];
if ($price['tai']['tbi']) {
foreach ($price['tai']['tbi'] as $keyss => $tbi) {
$segc = isset($segmentSector[$keyss]) ? $segmentSector[$keyss] : '';
$sectorKey = $segc['origin'] . '-' . $segc['destination'];
if ($tbi) {
foreach ($tbi as $kgk => $pbi) {
if ($pbi) {
foreach ($pbi as $gk => $vll) {
$tripbinfo[$sectorKey][$gk] = ['cabin' => isset($vll['cB']) ? $vll['cB'] : 'NA', 'checkin' => isset($vll['iB']) ? $vll['iB'] : 'NA'];
}
}
}
}
}
}
// echo '<pre>';print_r($tripbinfo);echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
$IsMealIncludes = $fareDetail['ADULT']['mI'];
$strBaggage = $price['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $price['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsCabinBaggage = true;
} else {
$IsCabinBaggage = false;
}
if (!empty($strBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
if ($price['fareIdentifier'] == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = 0; //isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = 0; //isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = 0; //isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = ($NetFare - $TdsOnPLBCal);
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
//echo '<pre>';print_r($markUpArr);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
if ($kp == 0) {
$PublishedFareReverse += ($arrMarkUps['PublishFare']);
}
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = $this->CurrencyTitle;
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = (float) str_replace('-', '', ($ADULTNCMTDS * $adultCount));
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['NetFare'] = ($ADULT['NF'] * $adultCount);
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = $this->CurrencyTitle;
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = (float) str_replace('-', '', ($CHILDNCMTDS * $childCount));
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['NetFare'] = ($CHILD['NF'] * $childCount);
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = $this->CurrencyTitle;
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = (float) str_replace('-', '', ($INFANTNCMTDS * $infantCount));
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['NetFare'] = ($INFANT['NF'] * $infantCount);
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr[$kp] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => (float) isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"FareClass" => ucfirst($fareDetail['ADULT']['cc']),
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'], //$arrMarkUps['intCommisionEarnedForAgency'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"IsBaggage" => $IsBaggage,
"IsCabinBaggage" => $IsCabinBaggage,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsMealIncludes" => $IsMealIncludes,
"FareBreakdown" => $FareBreakdown,
"arrMarkUps" => $arrMarkUps,
"tripbinfo" => $tripbinfo,
);
// echo '<pre>';
// print_r($FairRulesArr[$kp]);
// echo '</pre>';
}
}
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
// if($strFlightNumber == 'I5-336'){
// echo '<pre>';print_r($result['totalPriceList']);die;
// }
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['FlightNumberCode'] = $FlightNumber;
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$key]['IsDirect'] = 0;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
// $arrInsertFlightData[$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = $Stops;
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = $this->CurrencyId;
$arrInsertFlightData[$key]['PublishedFare'] = ($PublishedFare * $this->CurrencyRate); // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format(($PublishedFare * $this->CurrencyRate)); // As Discussed with GG
// $arrInsertFlightData[$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 1';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = true;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
if ($FairRulesArr) {
foreach ($FairRulesArr as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
// if ($FilterPrice) {
// $arrInsertFlightData[$key]['FilterPrice'] = $FilterPrice;
// }
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
}
$RoundTrip = $this->FlightDataRoundTripJack($apiResponse, $sessionFlightSearchParams, $AgencySysId, $AdditionalMarkup, $getMarkup);
$dddddddd = array_merge($dddddddd, $RoundTrip['dddddddd']);
sort($dddddddd);
$FiltPrice = [];
if ($interNationalSearch == 1 && $strFlightRoute == 2) {
$RoundInterTrip = $this->FlightDataRoundTripInternational($apiResponse, $sessionFlightSearchParams, $AgencySysId, $AdditionalMarkup, $getMarkup);
//$ddwwww = json_decode($RoundInterTrip, true);
// print_r($RoundInterTrip);
// die;
$dddddddd = array_merge($dddddddd, $RoundInterTrip['dddddddd']);
sort($dddddddd);
$FiltPrice = [];
$data = array('outbound' => $RoundInterTrip['outbound'], 'inbound' => [], 'FiltPrice' => $FiltPrice, 'CurrencyTitle' => $this->CurrencyTitle, 'dddddddd' => ($dddddddd));
} else {
$data = array('outbound' => $arrInsertFlightData, 'inbound' => $RoundTrip['inbound'], 'FiltPrice' => $FiltPrice, 'CurrencyTitle' => $this->CurrencyTitle, 'dddddddd' => ($dddddddd));
}
return ($data);
} else {
$data = array('outbound' => [], 'inbound' => [], 'FiltPrice' => []);
return ($data);
}
}
public function FlightDataRoundTripJack($apiResponse, $sessionFlightSearchParams, $AgencySysId, $AdditionalMarkup, $getMarkup)
{
$bookingAllowed = trim($sessionFlightSearchParams['bookingAllowed']);
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
//$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
$intJourneyType = 2;
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltPriceRange = [];
$AttPriceRange = [];
$dddddddd = [];
$intResponseStatus = $apiResponse['ResponseStatus'];
$RETURN = $apiResponse['InBoundFlightResults'];
if ($intResponseStatus == 1) {
if ($RETURN) {
foreach ($RETURN as $key => $result) {
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB'];
$IsMealIncludes = $totalPriceList['fd']['ADULT']['mI'];
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB'];
$strTraceId = $totalPriceList['id'];
$ResultIndex = $totalPriceList['id'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$arrSegments = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$FareBreakdown = [];
$FairRulesArr = [];
array_multisort($result['totalPriceList']);
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
$IsMealIncludes = $fareDetail['ADULT']['mI'];
$strBaggage = $price['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $price['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsCabinBaggage = true;
} else {
$IsCabinBaggage = false;
}
if (!empty($strBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
if ($price['fareIdentifier'] == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = ($NetFare - $TdsOnPLBCal);
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
//echo '<pre>';print_r($markUpArr);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
if ($kp == 0) {
$PublishedFareReverse += ($arrMarkUps['PublishFare']);
}
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = (float)str_replace('-', '', ($ADULTNCMTDS * $adultCount));
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = (float)str_replace('-', '', ($CHILDNCMTDS * $childCount));
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = (float)str_replace('-', '', ($INFANTNCMTDS * $infantCount));
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr[$kp] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => (float)isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"FareClass" => $fareDetail['ADULT']['cc'],
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['intCommisionEarnedForAgency'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"IsBaggage" => $IsBaggage,
"IsCabinBaggage" => $IsCabinBaggage,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsMealIncludes" => $IsMealIncludes,
"FareBreakdown" => $FareBreakdown,
"arrMarkUps" => $arrMarkUps,
);
// echo '<pre>';
// print_r($FairRulesArr[$kp]);
// echo '</pre>';
}
}
if ($SegmentInformation) {
foreach ($SegmentInformation as $segments) {
//echo '<pre>';print_r($segments);
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => '', //$TripIndicator,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
}
}
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
//$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['FlightNumberCode'] = $FlightNumber;
// $arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$key]['IsDirect'] = 0;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
// $arrInsertFlightData[$key]['DayLightSavingDiff'] = $DayLightSavingDiff;
$arrInsertFlightData[$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
// $arrInsertFlightData[$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = $Stops;
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = $this->CurrencyId;
$arrInsertFlightData[$key]['PublishedFare'] = ($PublishedFare * $this->CurrencyRate); // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format(($PublishedFare * $this->CurrencyRate)); // As Discussed with GG
// $arrInsertFlightData[$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 1';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = true;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
if ($FairRulesArr) {
foreach ($FairRulesArr as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
//$FiltPriceRange[] =
//$FilterPrice = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_PRICE_RANGE_5000), ($PublishedFare * $this->CurrencyRate));
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
// if ($FilterPrice) {
// $arrInsertFlightData[$key]['FilterPrice'] = $FilterPrice;
// }
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
}
sort($dddddddd);
$FiltPriceRangeU = (array_unique($FiltPriceRange));
$arrAirlineName = array_unique($arrAirlineName);
$FiltStopCount = array_unique($FiltStopCount);
$AttPriceRange = array_unique($AttPriceRange);
$data = array('inbound' => $arrInsertFlightData, 'dddddddd' => $dddddddd, 'arrAirlineName' => $arrAirlineName, 'FiltStopCount' => $FiltStopCount, 'ArrPriceUnique' => $FiltPriceRangeU, 'AttPriceRange' => $AttPriceRange);
return ($data);
} else {
return false;
}
}
public function FlightDataRoundTripInternational($apiResponse, $sessionFlightSearchParams, $AgencySysId, $AdditionalMarkup, $getMarkup)
{
$intResponseStatus = !empty($apiResponse['ResponseStatus']) ? $apiResponse['ResponseStatus'] : '0';
if ($intResponseStatus == 1) {
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
// For getting All currency Array
//$arrCurrencyList = $this->getCurrencyIdsAndSymbolList();
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = !empty($sessionFlightSearchParams['return_dates']) ? $sessionFlightSearchParams['return_dates'] : '';
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$intTatalPaxCT = $adultCount + $childCount;
//$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$arrDepatureDate = explode("/", $strDepatureDate);
if (!empty($arrDepatureDate) ) {
$strDepatureDate = $arrDepatureDate[2] . "-" . $arrDepatureDate[1] . "-" . $arrDepatureDate[0];
}
if (!empty($strReturnDate)) {
$arrReturnDepatureDate = explode("/", $strReturnDate);
if (!empty($arrReturnDepatureDate)) {
$strReturnDate = $arrReturnDepatureDate[2] . "-" . $arrReturnDepatureDate[1] . "-" . $arrReturnDepatureDate[0];
}
}
$localFromDateTime = date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = date("Y-m-d h:i", strtotime($strReturnDate));
$arrCommonInsVariables = array(
'strTraceId' => $strTraceId,
'localFromDateTime' => $localFromDateTime,
'localToDateTime' => $localToDateTime,
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 2, // For Round Trips API Search
'TripType' => $strFlightRoute,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
$strTraceId = $arrCommonInsVariables['strTraceId'];
$localFromDateTime = $arrCommonInsVariables['localFromDateTime'];
$localToDateTime = $arrCommonInsVariables['localToDateTime'];
$strSourceAirportCode = $arrCommonInsVariables['strSourceAirportCode'];
$strDestinationAirportCode = $arrCommonInsVariables['strDestinationAirportCode'];
$intMemberCount = $arrCommonInsVariables['intMemberCount'];
$intSourceCityId = $arrCommonInsVariables['intSourceCityId'];
$intDestinationCityId = $arrCommonInsVariables['intDestinationCityId'];
$intJourneyType = $arrCommonInsVariables['JourneyType'];
$intTripType = $arrCommonInsVariables['TripType'];
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '0';
$DayLightSavingDiff = 0;
$AirportHaultMinutes = 0;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$DesFiltStopCount = [];
$AttPriceRange = [];
$FiltPriceRange = [];
$dddddddd = [];
try {
// print_r(($apiResponse['OutBoundFlightResults']));die('int');
foreach ($apiResponse['OutBoundFlightResults'] as $key => $result) {
$SegmentInformation = $result['sI'];
$totalPriceList = $result['totalPriceList'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB']; //Cabin Baggage
$IsMealIncludes = $totalPriceList['fd']['ADULT']['mI'];
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Check In Baggage
$strTraceId = $totalPriceList['id'];
$ResultIndex = $totalPriceList['id'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$TempArr = [];
if ($SegmentInformation) {
$tp = 0;
foreach ($SegmentInformation as $k => $Segmentsss) {
$isReturnSegment = isset($Segmentsss['isRs']) ? $Segmentsss['isRs'] : false;
if (!$isReturnSegment) {
$TempArr['onward'][$k] = $Segmentsss;
} else {
$TempArr['return'][$k] = $Segmentsss;
}
}
}
$OriginOnward = current($TempArr['onward']);
$DestinationOnward = end($TempArr['onward']);
$AirlineCode = $OriginOnward['fD']['aI']['code'];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$PublishedFareReverse = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$FareBreakdown = [];
$FairRulesArr = [];
array_multisort($result['totalPriceList']);
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
$IsMealIncludes = $fareDetail['ADULT']['mI'];
$strBaggage = $price['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $price['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsCabinBaggage = true;
} else {
$IsCabinBaggage = false;
}
if (!empty($strBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
if ($price['fareIdentifier'] == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = ($NetFare - $TdsOnPLBCal);
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
if ($kp == 0) {
$PublishedFareReverse += ($arrMarkUps['PublishFare']);
}
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = (float)str_replace('-', '', ($ADULTNCMTDS * $adultCount));
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = (float)str_replace('-', '', ($CHILDNCMTDS * $childCount));
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = (float)str_replace('-', '', ($INFANTNCMTDS * $infantCount));
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr[$kp] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => (float)isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"FareClass" => ucfirst($fareDetail['ADULT']['cc']),
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['intCommisionEarnedForAgency'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"IsBaggage" => $IsBaggage,
"IsCabinBaggage" => $IsCabinBaggage,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsMealIncludes" => $IsMealIncludes,
"FareBreakdown" => $FareBreakdown,
//"arrMarkUps" => $arrMarkUps,
);
}
}
// echo '<pre>';
// print_r($FairRulesArr);
// echo '</pre>';
// die;
$TotalDurationReturn = 0;
$TotalDurationOnward = 0;
$TotalLAYOVERMinutes = 0;
$arrSegments = [];
if ($SegmentInformation) {
foreach ($SegmentInformation as $segments) {
//echo '<pre>';print_r($segments);
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
if (isset($segments['isRs']) && $segments['isRs'] == true) {
$isReturnSegment = true;
$TotalDurationReturn += ($duration + $LAYOVERMinutes);
} else {
$isReturnSegment = false;
$TotalDurationOnward += ($duration + $LAYOVERMinutes);
}
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"isReturnSegment" => $isReturnSegment,
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => '', //$TripIndicator,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
}
}
$TotalLAYOVERMinutesO = 0;
$FlyingMinutesO = 0;
$LAYOVERCityArrO = [];
if ($TempArr['onward']) {
foreach ($TempArr['onward'] as $onwd) {
$duration = isset($segments['duration']) ? $segments['duration'] : 0;
$LAYOVERMinutes = $GroundTime = isset($onwd['cT']) ? $onwd['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArrO[] = isset($onwd['cT']) ? $onwd['aa']['city'] : '';
$FlyingMinutesO += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutesO += $LAYOVERMinutes;
}
}
//echo '<pre>';print_r($OriginOnward['dt'].$DestinationOnward['at']);echo '</pre>';
//echo $TotalLAYOVERMinutesO.'=='.$FlyingMinutesO.'<br>';
$LAYOVERTimeO = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutesO);
$AirlineCode = $OriginOnward['fD']['aI']['code'];
$FlightNumber = $OriginOnward['fD']['fN'];
//$strFlightNumber = $OriginOnward . "-" . $FlightNumber;
$strAirlineName = $OriginOnward['fD']['aI']['name'];
$OrFlightNumber = $AirlineCode . '-' . $FlightNumber;
$IsLCC = $OriginOnward['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginOnward['da']['code'];
$strDestinationAirportCode = $DestinationOnward['aa']['code'];
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalDurationOnward);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationOnward['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginOnward['dt']);
$Stops = $DestinationOnward['sN'];
if ($Stops == 0) {
$OrStopCountTxt = "Non-stop";
} else {
$OrStopCountTxt = $Stops . " Stop(s)";
}
$arrInsertFlightData[$key]['origin']['FlightNumber'] = $FlightNumber;
$arrInsertFlightData[$key]['origin']['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['origin']['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['origin']['OrFlightNumber'] = $OrFlightNumber;
$arrInsertFlightData[$key]['origin']['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['origin']['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['origin']['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['origin']['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['origin']['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['origin']['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['origin']['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['origin']['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['origin']['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['origin']['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['origin']['TravelDate'] = $OriginOnward['dt'];
$arrInsertFlightData[$key]['origin']['LocalFromTime'] = str_replace('T', ' ', $OriginOnward['dt']);
$arrInsertFlightData[$key]['origin']['FromUTCTime'] = $OriginOnward['dt'];
$arrInsertFlightData[$key]['origin']['LocalToTime'] = str_replace('T', ' ', $DestinationOnward['at']);
$arrInsertFlightData[$key]['origin']['ToUTCTime'] = $DestinationOnward['at'];
$arrInsertFlightData[$key]['origin']['IsDirect'] = 0;
$arrInsertFlightData[$key]['origin']['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['origin']['LAYOVERCity'] = isset($LAYOVERCityArrO[0]) ? $LAYOVERCityArrO[0] : '';
$arrInsertFlightData[$key]['origin']['GroundTime'] = $TotalLAYOVERMinutesO;
$arrInsertFlightData[$key]['origin']['LAYOVERDuration'] = $LAYOVERTimeO;
$arrInsertFlightData[$key]['origin']['FlyingMinutes'] = $FlyingMinutesO;
$arrInsertFlightData[$key]['origin']['DepartureDateTxt'] = date('D, d M', strtotime($OriginOnward['dt']));
$arrInsertFlightData[$key]['origin']['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationOnward['at']));
$arrInsertFlightData[$key]['origin']['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['origin']['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['origin']['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['origin']['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['origin']['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['origin']['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['origin']['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['origin']['StopCount'] = $OrStopCountTxt;
$arrInsertFlightData[$key]['origin']['Stops'] = $Stops;
$arrInsertFlightData[$key]['origin']['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['origin']['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['origin']['CurrencyType'] = 1;
$arrInsertFlightData[$key]['origin']['JourneyType'] = 1;
$arrInsertFlightData[$key]['origin']['bookingAllowed'] = $bookingAllowed;
$arrInsertFlightData[$key]['origin']['TripType'] = $intTripType;
$arrInsertFlightData[$key]['origin']['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['origin']['logo'] = $filePath;
//// Rrturn variable
$TotalLAYOVERMinutesD = 0;
$FlyingMinutesD = 0;
$LAYOVERCityArrD = [];
if ($TempArr['return']) {
foreach ($TempArr['return'] as $onwd) {
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($onwd['cT']) ? $onwd['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArrD[] = isset($onwd['cT']) ? $onwd['aa']['city'] : '';
$FlyingMinutesD += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutesD += $LAYOVERMinutes;
}
}
$OriginReturn = current($TempArr['return']);
$DestinationReturn = end($TempArr['return']);
$AirlineCode = $OriginReturn['fD']['aI']['code'];
$FlightNumber = $OriginReturn['fD']['fN'];
//$strFlightNumber = $OriginReturn . "-" . $FlightNumber;
$strAirlineName = $OriginReturn['fD']['aI']['name'];
$DeFlightNumber = $AirlineCode . '-' . $FlightNumber;
$IsLCC = $OriginReturn['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginReturn['da']['code'];
$strDestinationAirportCode = $DestinationReturn['aa']['code'];
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERTimeD = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutesD);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalDurationReturn);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationReturn['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginReturn['dt']);
//// end return variable.
$Stops = $DestinationReturn['sN'];
if ($Stops == 0) {
$DeStopCountTxt = "Non-stop";
} else {
$DeStopCountTxt = $Stops . " Stop(s)";
}
$arrInsertFlightData[$key]['destination']['FlightNumber'] = $FlightNumber;
$arrInsertFlightData[$key]['destination']['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['destination']['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['destination']['DeFlightNumber'] = $DeFlightNumber;
$arrInsertFlightData[$key]['destination']['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['destination']['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['destination']['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['destination']['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['destination']['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['destination']['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['destination']['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['destination']['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['destination']['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['destination']['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['destination']['TravelDate'] = $OriginReturn['dt'];
$arrInsertFlightData[$key]['destination']['LocalFromTime'] = str_replace('T', ' ', $OriginReturn['dt']);
$arrInsertFlightData[$key]['destination']['FromUTCTime'] = $OriginReturn['dt'];
$arrInsertFlightData[$key]['destination']['LocalToTime'] = str_replace('T', ' ', $DestinationReturn['at']);
$arrInsertFlightData[$key]['destination']['ToUTCTime'] = $DestinationReturn['at'];
$arrInsertFlightData[$key]['destination']['IsDirect'] = 0;
$arrInsertFlightData[$key]['destination']['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['destination']['LAYOVERCity'] = isset($LAYOVERCityArrD[0]) ? $LAYOVERCityArrD[0] : '';
$arrInsertFlightData[$key]['destination']['GroundTime'] = $TotalLAYOVERMinutesD;
$arrInsertFlightData[$key]['destination']['LAYOVERDuration'] = $LAYOVERTimeD;
$arrInsertFlightData[$key]['destination']['FlyingMinutes'] = $FlyingMinutesD;
$arrInsertFlightData[$key]['destination']['DepartureDateTxt'] = date('D, d M', strtotime($OriginReturn['dt']));
$arrInsertFlightData[$key]['destination']['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationReturn['at']));
$arrInsertFlightData[$key]['destination']['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['destination']['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['destination']['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['destination']['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['destination']['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['destination']['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['destination']['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['destination']['StopCount'] = $DeStopCountTxt;
$arrInsertFlightData[$key]['destination']['Stops'] = $Stops;
$arrInsertFlightData[$key]['destination']['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['destination']['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['destination']['CurrencyType'] = 1;
$arrInsertFlightData[$key]['destination']['bookingAllowed'] = $bookingAllowed;
$arrInsertFlightData[$key]['destination']['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['destination']['TripType'] = $intTripType;
$arrInsertFlightData[$key]['destination']['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['destination']['logo'] = $filePath;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName; // As Discussed with GG
$arrInsertFlightData[$key]['AgencySysId'] = $AgencySysId;
$arrInsertFlightData[$key]['PublishedFare'] = $PublishedFare; // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($PublishedFare);
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['StopCount'] = $OrStopCountTxt;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['TripType'] = 2;
$arrInsertFlightData[$key]['JourneyType'] = 2;
$arrInsertFlightData[$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 1';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = true;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $arrCommonInsVariables['intSourceCityId'];
$arrInsertFlightData[$key]['DestPlaceSysId'] = $arrCommonInsVariables['intDestinationCityId'];
$arrInsertFlightData[$key]['SourceAirportCode'] = $arrCommonInsVariables['strSourceAirportCode'];
$arrInsertFlightData[$key]['DestAirportCode'] = $arrCommonInsVariables['strDestinationAirportCode'];
$arrInsertFlightData[$key]['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? $arrCommonInsVariables['localFromDateTime'] : '';
$arrInsertFlightData[$key]['FromUTCTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? $arrCommonInsVariables['localFromDateTime'] : '';
$arrInsertFlightData[$key]['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? $arrCommonInsVariables['localToDateTime'] : '';
$arrInsertFlightData[$key]['ToUTCTime'] = isset($arrCommonInsVariables['localToDateTime']) ? $arrCommonInsVariables['localToDateTime'] : '';
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['arrCommonInsVariables'] = $arrCommonInsVariables;
if ($FairRulesArr) {
foreach ($FairRulesArr as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
$AttPriceRange[] = $PublishedFare;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$FiltStopCount[] = $OrStopCountTxt;
$DesFiltStopCount[] = $DeStopCountTxt;
//$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
//$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
// echo '<pre>';
// print_r($arrInsertFlightData);
// echo '</pre>';
// die;
}
// echo '<pre>';
// print_r($arrInsertFlightData);
// echo '</pre>';
//die;
sort($dddddddd);
$arrAirlineName = array_unique($arrAirlineName);
$FiltStopCount = array_unique($FiltStopCount);
$AttPriceRange = array_unique($AttPriceRange);
$data = (array('outbound' => $arrInsertFlightData, 'dddddddd' => array_unique($dddddddd), 'arrAirlineName' => $arrAirlineName, 'FiltStopCount' => $FiltStopCount, 'AttPriceRange' => $AttPriceRange));
// echo '<pre>';
// print_r(($data));
// die('www');
return ($data);
} catch (Zend_Exception $e) {
print_r($e->getMessage());
exit;
}
} else {
return false;
}
}
public function FlightDataMultiCity($apiResponse, $sessionFlightSearchParams, $AgencySysId, $getMarkup, $AdditionalMarkup){
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$addMarkupArr = $sessionFlightSearchParams['addMarkupArr'];
$AgencySysId = $sessionFlightSearchParams['AgencySysId'];
$FlightNumberArr = $sessionFlightSearchParams['FlightNumber'];
// echo "<pre>";
// print_r($sessionFlightSearchParams);die('dddd');destinationCityText
$intSourceCityId = ($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = ($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = $sessionFlightSearchParams['return_dates'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = $sessionFlightSearchParams['sourceCityText'];
$destinationCityText = $sessionFlightSearchParams['destinationCityText'];
$intTatalPaxCT = $adultCount + $childCount;
if($interNationalSearch && $strFlightRoute == '3'){
return $this->FlightDataMultiCityInternational($apiResponse, $sessionFlightSearchParams, $AgencySysId, $getMarkup, $AdditionalMarkup);
}
$intJourneyType = 2;
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltPriceRange = [];
$AttPriceRange = [];
$dddddddd = [];
$intResponseStatus = $apiResponse['ResponseStatus'];
$RETURN = $apiResponse['OutBoundFlightResults'];
if ($intResponseStatus == 1) {
if ($RETURN) {
foreach ($RETURN as $keys => $tripInfos) {
foreach ($tripInfos as $key => $result) {
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB']; //Cabin Baggage
$IsMealIncludes = isset($totalPriceList['fd']['ADULT']['mI']) ? $totalPriceList['fd']['ADULT']['mI'] : false;
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Check In Baggage
$strTraceId = $totalPriceList['id'];
$ResultIndex = $totalPriceList['id'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
// echo '<pre>';print_r($DestinationSegments);echo '</pre>';
$arrSegments = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$PublishedFareReverse = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$FareBreakdown = [];
$FairRulesArr = [];
$intYQTaxToT = 0;
$intTotalOfferedForAllPax = 0;
$intBaseFareAllPax = 0;
$intTaxAllPax = 0;
array_multisort($result['totalPriceList']);
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
$IsMealIncludes = $fareDetail['ADULT']['mI'];
$strBaggage = $price['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $price['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsCabinBaggage = true;
} else {
$IsCabinBaggage = false;
}
if (!empty($strBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
if ($fareIdentifier == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = ($NetFare - $TdsOnPLBCal);
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
//echo '<pre>';print_r($markUpArr);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
if ($kp == 0) {
$PublishedFareReverse += ($arrMarkUps['PublishFare']);
}
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = (float)str_replace('-', '', ($ADULTNCMTDS * $adultCount));
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = (float)str_replace('-', '', ($CHILDNCMTDS * $childCount));
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = (float)str_replace('-', '', ($INFANTNCMTDS * $infantCount));
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr[$kp] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => (float)isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"FareClass" => $fareDetail['ADULT']['cc'],
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"IsBaggage" => $IsBaggage,
"IsCabinBaggage" => $IsCabinBaggage,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsMealIncludes" => $IsMealIncludes,
"FareBreakdown" => $FareBreakdown,
"arrMarkUps" => $arrMarkUps,
"FareKey" => str_replace('_', ' ', $fareIdentifier).''.$classOfBooking,
);
// echo '<pre>';
// print_r($FairRulesArr[$kp]);
// echo '</pre>';
}
}
$TotalLAYOVERMinutes = 0;
if ($SegmentInformation) {
foreach ($SegmentInformation as $seg => $segments) {
//echo '<pre>';print_r($segments);
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => ($seg + 1),
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
//echo '<pre>';print_r($arrSegments);
}
}
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData[$keys][$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$keys][$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$keys][$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$keys][$key]['FlightNumberCode'] = $FlightNumber;
$arrInsertFlightData[$keys][$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$keys][$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$keys][$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$keys][$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$keys][$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$keys][$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$keys][$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$keys][$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$keys][$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$keys][$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$keys][$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$keys][$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$keys][$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$keys][$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$keys][$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$keys][$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$keys][$key]['IsDirect'] = 0;
$arrInsertFlightData[$keys][$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$keys][$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$keys][$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$keys][$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$keys][$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$keys][$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$keys][$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$keys][$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$keys][$key]['SourcePlaceSysId'] = $intSourceCityId[$keys];
$arrInsertFlightData[$keys][$key]['DestPlaceSysId'] = $intDestinationCityId[$keys];
$arrInsertFlightData[$keys][$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$keys][$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$keys][$key]['SourcePlaceName'] = substr($destinationCityText[$keys], 0, strpos($destinationCityText[$keys], ','));
$arrInsertFlightData[$keys][$key]['DestPlaceName'] = substr($sourceCityText[$keys], 0, strpos($sourceCityText[$keys], ','));;
// $arrInsertFlightData[$keys][$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$keys][$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$keys][$key]['Stops'] = $Stops;
$arrInsertFlightData[$keys][$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$keys][$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$keys][$key]['CurrencyType'] = $this->CurrencyId;
$arrInsertFlightData[$keys][$key]['PublishedFare'] = ($PublishedFare * $this->CurrencyRate); // As Discussed with GG
$arrInsertFlightData[$keys][$key]['PublishedFareTxt'] = number_format(($PublishedFare * $this->CurrencyRate)); // As Discussed with GG
// $arrInsertFlightData[$keys][$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$keys][$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$keys][$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$keys][$key]['TripType'] = $intTripType;
$arrInsertFlightData[$keys][$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$keys][$key]['logo'] = $filePath;
$arrInsertFlightData[$keys][$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$keys][$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$keys][$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$keys][$key]['supplier'] = 'Supplier 1';
$arrInsertFlightData[$keys][$key]['IsTJFlightAPI'] = true;
$arrInsertFlightData[$keys][$key]['bookingAllowed'] = $bookingAllowed;
$arrInsertFlightData[$keys][$key]['FilterKey'] = trim($strFlightNumber).''.trim($strFareClass).''.$DestinationSegments['at'].''.$OriginSegments['dt'];
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
if ($FairRulesArr) {
foreach ($FairRulesArr as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
$arrInsertFlightData[$keys][$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
}
$MultiHead = [];
$outboundArray = [];
if ($sessionFlightSearchParams['sourceCityText']) {
foreach ($sessionFlightSearchParams['sourceCityText'] as $sk => $source_) {
$destination_ = isset($sessionFlightSearchParams['destinationCityText'][$sk]) ? explode(',', $sessionFlightSearchParams['destinationCityText'][$sk]) : '';
$source_ = isset($source_) ? explode(',', $source_) : '';
$departure_date_ = isset($sessionFlightSearchParams['departure_dates'][$sk]) ? $sessionFlightSearchParams['departure_dates'][$sk] : '';
//$strDepatureDate__ = isset($sessionFlightSearchParams['strDepatureDate'][$sk]) ? $sessionFlightSearchParams['strDepatureDate'][$sk] : '';
$MultiHead[] = array(
'source' => $source_[0],
'destination' => $destination_[0],
'departure_date' => $departure_date_,
//'strDepatureDate' => $strDepatureDate__,
);
$outboundArray[$sk] = array(
'source' => $source_[0],
'destination' => $destination_[0],
'departure_date' => $departure_date_,
'FD' => isset($arrInsertFlightData[$sk])?$arrInsertFlightData[$sk]:[],
);
}
}
// echo '<pre>';print_r(json_encode($arrInsertFlightData));
// die;
$data = array('outbound' => $outboundArray, 'inbound' => [],'MultiHead'=>$MultiHead, 'FiltPrice' => [], 'CurrencyTitle' => $this->CurrencyTitle, 'dddddddd' => ($dddddddd));
return ($data);
}
}
}
public function FlightDataMultiCityInternational($apiResponse, $sessionFlightSearchParams, $AgencySysId, $getMarkup, $AdditionalMarkup){
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$addMarkupArr = $sessionFlightSearchParams['addMarkupArr'];
$AgencySysId = $sessionFlightSearchParams['AgencySysId'];
$FlightNumberArr = $sessionFlightSearchParams['FlightNumber'];
// echo "<pre>";
// print_r($apiResponse);die('dddd');
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = $sessionFlightSearchParams['return_dates'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
$intJourneyType = 2;
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltPriceRange = [];
$AttPriceRange = [];
$dddddddd = [];
$intResponseStatus = $apiResponse['ResponseStatus'];
$ONWARD = $apiResponse['OutBoundFlightResults']['COMBO'];
if ($ONWARD) {
foreach ($ONWARD as $key => $result) {
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB']; //Cabin Baggage
$IsMealIncludes = isset($totalPriceList['fd']['ADULT']['mI']) ? $totalPriceList['fd']['ADULT']['mI'] : false;
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Check In Baggage
$strTraceId = $totalPriceList['id'];
$ResultIndex = $totalPriceList['id'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
// echo '<pre>';print_r($DestinationSegments);echo '</pre>';
$arrSegments = [];
$ArrivalArr = [];
$departureArr = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$PublishedFareReverse = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$FareBreakdown = [];
$FairRulesArr = [];
$intYQTaxToT = 0;
$intTotalOfferedForAllPax = 0;
$intBaseFareAllPax = 0;
$intTaxAllPax = 0;
array_multisort($result['totalPriceList']);
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
$IsMealIncludes = $fareDetail['ADULT']['mI'];
$strBaggage = $price['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $price['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsCabinBaggage = true;
} else {
$IsCabinBaggage = false;
}
if (!empty($strBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
if ($fareIdentifier == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = ($NetFare - $TdsOnPLBCal);
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
//echo '<pre>';print_r($markUpArr);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
if ($kp == 0) {
$PublishedFareReverse += ($arrMarkUps['PublishFare']);
}
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = (float)str_replace('-', '', ($ADULTNCMTDS * $adultCount));
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = (float)str_replace('-', '', ($CHILDNCMTDS * $childCount));
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = (float)str_replace('-', '', ($INFANTNCMTDS * $infantCount));
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr[$kp] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => (float)isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"FareClass" => $fareDetail['ADULT']['cc'],
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"IsBaggage" => $IsBaggage,
"IsCabinBaggage" => $IsCabinBaggage,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsMealIncludes" => $IsMealIncludes,
"FareBreakdown" => $FareBreakdown,
"arrMarkUps" => $arrMarkUps,
);
// echo '<pre>';
// print_r($FairRulesArr[$kp]);
// echo '</pre>';
}
}
$TotalLAYOVERMinutes = 0;
if ($SegmentInformation) {
foreach ($SegmentInformation as $seg => $segments) {
//echo '<pre>';print_r($segments);
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => ($seg + 1),
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
$Segmentsss = $segments;
$ConectingTime = isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0;
$SegmentNumber = isset($Segmentsss['sN']) ? $Segmentsss['sN'] : false;
if ($ConectingTime == 0 && $SegmentNumber == 1) {
$ArrivalArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
//'da' => $Segmentsss['da'],
'aa' => $Segmentsss['aa'],
//'dt' => $Segmentsss['dt'],
'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
} elseif ($ConectingTime == 0 && $SegmentNumber == 2) {
$ArrivalArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
//'da' => $Segmentsss['da'],
'aa' => $Segmentsss['aa'],
//'dt' => $Segmentsss['dt'],
'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
} elseif ($ConectingTime == 0 && $SegmentNumber == 3) {
$ArrivalArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
//'da' => $Segmentsss['da'],
'aa' => $Segmentsss['aa'],
//'dt' => $Segmentsss['dt'],
'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
} elseif ($ConectingTime == 0 && $SegmentNumber == 4) {
$ArrivalArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
//'da' => $Segmentsss['da'],
'aa' => $Segmentsss['aa'],
//'dt' => $Segmentsss['dt'],
'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
} elseif ($ConectingTime == 0 && $SegmentNumber == 0) {
$ArrivalArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
//'da' => $Segmentsss['da'],
'aa' => $Segmentsss['aa'],
//'dt' => $Segmentsss['dt'],
'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
}
if ($SegmentNumber == 0) { // departure
$departureArr[$seg] = array(
'fD' => $Segmentsss['fD'],
'oB' => $Segmentsss['oB'],
'stops' => $Segmentsss['stops'],
'so' => $Segmentsss['so'],
'duration' => $Segmentsss['duration'],
'da' => $Segmentsss['da'],
//'aa' => $Segmentsss['aa'],
'dt' => $Segmentsss['dt'],
//'at' => $Segmentsss['at'],
'iand' => $Segmentsss['iand'],
'cT' => isset($Segmentsss['cT']) ? $Segmentsss['cT'] : 0,
'sN' => $Segmentsss['sN'],
);
}
}
}
$arrv = array_values($ArrivalArr);
$depa = array_values($departureArr);
//echo "<pre>departureArr"; print_r($ArrivalArr);
$FlightData = [];
$FilterKey = [];
if ($depa) {
foreach ($depa as $sk => $depval) {
$arrival = isset($arrv[$sk]) ? $arrv[$sk] : '';
$LAYOVERMinutes = $GroundTime = isset($arrival['cT']) ? $depval['cT'] : 0;
$LAYOVERTimeO = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($LAYOVERMinutes);
if ($depval['cT']) {
$TotalDurationOnward = $FlyingMinutesO = ($depval['cT'] + $arrival['cT'] + $depval['duration'] + $arrival['duration']);
} else {
$TotalDurationOnward = $FlyingMinutesO = ($depval['duration']);
}
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalDurationOnward);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($arrival['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($depval['dt']);
//echo "<pre>departureArr"; print_r($depval);
$Stops = $arrival['sN'];
if ($Stops == 0) {
$OrStopCountTxt = "Non-stop";
} else {
$OrStopCountTxt = $Stops . " Stop(s)";
}
$AirlineCode = $depval['fD']['aI']['code'];
$FlightNumber = $depval['fD']['fN'];
$strAirlineName = $depval['fD']['aI']['name'];
$OrFlightNumber = $AirlineCode . '-' . $FlightNumber;
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$IsLCC = $depval['fD']['aI']['isLcc'];
$strSourceAirportCode = $depval['da']['code'];
$strDestinationAirportCode = $arrival['aa']['code'];
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$filePath = $this->getflightlogo($AirlineCode);
$deFlightNumber = $arrival['fD']['aI']['code'] . '-' . $arrival['fD']['fN'];
if ($depval['cT']) {
$SegFlightNumberArr = [$OrFlightNumber, $deFlightNumber];
} else {
$SegFlightNumberArr = [$OrFlightNumber];
}
$FlightData[$sk]['FlightNumber'] = $FlightNumber;
$FlightData[$sk]['SegFlightNumberArr'] = implode(', ', $SegFlightNumberArr);
$FlightData[$sk]['AirlineName'] = $strAirlineName;
$FlightData[$sk]['AirlineCode'] = $AirlineCode;
$FlightData[$sk]['OrFlightNumber'] = $OrFlightNumber;
$FlightData[$sk]['AirInvenSysId'] = 0;
$FlightData[$sk]['IsLCC'] = $IsLCC;
//$FlightData[$sk]['SearchTraceId'] = $FlightTraceId;
$FlightData[$sk]['apiTraceId'] = $strTraceId;
$FlightData[$sk]['AirlineSysId'] = $airlineSysId;
$FlightData[$sk]['DepartureTime'] = $strDepartureDtTime;
$FlightData[$sk]['ArrivalTime'] = $strArrivalDtTime;
$FlightData[$sk]['IsDirect'] = 0;
$FlightData[$sk]['FareClass'] = $strFareClass;
$FlightData[$sk]['FromUTCTime'] = $depval['dt'];
$FlightData[$sk]['ToUTCTime'] = $arrival['at'];
$FlightData[$sk]['DepartureDateTxt'] = date('D, d M', strtotime($depval['dt']));
$FlightData[$sk]['ArrivalDateTxt'] = date('D, d M', strtotime($arrival['at']));
$FlightData[$sk]['FlightDuration'] = $FlightDuration;
$FlightData[$sk]['SourcePlaceSysId'] = $intSourceCityId[$sk];
$FlightData[$sk]['DestPlaceSysId'] = $intDestinationCityId[$sk];
$FlightData[$sk]['SourceAirportCode'] = $strSourceAirportCode;
$FlightData[$sk]['DestAirportCode'] = $strDestinationAirportCode;
$FlightData[$sk]['SourcePlaceName'] = $sourceCityText[$sk];
$FlightData[$sk]['DestPlaceName'] = $destinationCityText[$sk];
$FlightData[$sk]['StopCount'] = $OrStopCountTxt;
$FlightData[$sk]['Stops'] = $Stops;
$FlightData[$sk]['JourneyType'] = 1;
$FlightData[$sk]['TripType'] = $intTripType;
$FlightData[$sk]['ICSourceSysId'] = 7;
$FlightData[$sk]['logo'] = $filePath;
$FilterKey[] = trim($strFlightNumber).''.trim($strFareClass).''.$arrival['at'].''.$depval['dt'];
// echo "<pre>departureArr"; print_r($FlightData);
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
$FilterArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strArrivalDtTime);
$FlightData[$sk]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
$FlightData[$sk]['FilterArrivalDtTime'] = $FilterArrivalDtTime;
$arrAirlineName[$sk][] = $AirlineCode . '-' . $strAirlineName;;
$FiltStopCount[$sk][] = $OrStopCountTxt;
$FiltSupplier[$sk][] = 'Supplier 1';
}
}
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['FlightNumberCode'] = $FlightNumber;
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$key]['IsDirect'] = 0;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = $Stops;
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = $this->CurrencyId;
$arrInsertFlightData[$key]['PublishedFare'] = ($PublishedFare * $this->CurrencyRate); // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format(($PublishedFare * $this->CurrencyRate)); // As Discussed with GG
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['FlightData'] = $FlightData;
$arrInsertFlightData[$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 1';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = true;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrInsertFlightData[$key]['FilterKey'] = implode('-',$FilterKey);
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
if ($FairRulesArr) {
foreach ($FairRulesArr as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
}
$MultiHead = [];
$outboundArray = [];
if ($sessionFlightSearchParams['sourceCityText']) {
foreach ($sessionFlightSearchParams['sourceCityText'] as $sk => $source_) {
$destination_ = isset($sessionFlightSearchParams['destinationCityText'][$sk]) ? explode(',', $sessionFlightSearchParams['destinationCityText'][$sk]) : '';
$source_ = isset($source_) ? explode(',', $source_) : '';
$departure_date_ = isset($sessionFlightSearchParams['departure_dates'][$sk]) ? $sessionFlightSearchParams['departure_dates'][$sk] : '';
$MultiHead[] = array(
'source' => $source_[0],
'destination' => $destination_[0],
'departure_date' => $departure_date_,
);
}
}
$data = array('outbound' => $arrInsertFlightData, 'inbound' => [],'MultiHead'=>$MultiHead, 'FiltPrice' => [], 'CurrencyTitle' => $this->CurrencyTitle, 'dddddddd' => ($dddddddd));
return ($data);
}
public function FlightDataTBO($SearchParam)
{
$bookingAllowed = $SearchParam['bookingAllowed'];
$sessionFlightSearchParams = $SearchParam['sessionFlightSearchParams'];
$addMarkupArr = $SearchParam['addMarkupArr'];
$AgencySysId = $SearchParam['AgencySysId'];
$FlightNumberArr = $SearchParam['FlightNumber'];
$apiResponse = $SearchParam['apiResponse'];
$sessionFlightSearchParams['bookingAllowed'] = $bookingAllowed;
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
$flight_class = trim($sessionFlightSearchParams['flight_class']);
$preferredFlightClassType = ($flight_class == 1) ? 2 : $flight_class;
$arrFlightClass = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getFlightClasses();
$cabinClass = isset($arrFlightClass[$preferredFlightClassType]) ? $arrFlightClass[$preferredFlightClassType] : 'Economy';
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = $sessionFlightSearchParams['return_dates'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$getCancelCharge = $this->getCancelCharge($intCountryCode, $AgencySysId);
$strDepatureDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strDepatureDate, 'd/m/y');
$strReturnDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strReturnDate, 'd/m/y');
$intResponseStatus = !empty($apiResponse['ResponseStatus']) ? $apiResponse['ResponseStatus'] : '0';
if ($intResponseStatus == 1) {
$DayLightSavingDiff = 0;
$AirportHaultMinutes = 0;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltSupplier = [];
$FiltPriceRange = [];
$AttPriceRange = [];
foreach ($apiResponse['OutBoundFlightResults'] as $key => $result) {
$IsGSTMandatory = isset($result['IsGSTMandatory']) ? $result['IsGSTMandatory'] : 0;
$ResultIndex = $result['ResultIndex'];
$FareColor = $result['FareClassification']['Color'];
$Source = $result['Source'];
$IsLCC = $result['IsLCC'];
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$IsRefundable = ($result['IsRefundable']) ? 1 : 0;
$AirlineRemark = $result['AirlineRemark'];
$MiniFareRules = (isset($result['MiniFareRules']) && !empty($result['MiniFareRules'])) ? $result['MiniFareRules'] : [];
$MiniFR = [];
if ($MiniFareRules) {
foreach ($MiniFareRules as $Minivalue) {
if ($Minivalue) {
foreach ($Minivalue as $kk => $Mini) {
$Type = !empty($Mini['Type']) ? strtoupper($Mini['Type']) : 'NA';
if (empty($Mini['To'])) {
$TimeFrame = 'from ' . $Mini['From'] . ' ' . $Mini['Unit'] . ' & above before dept';
} else {
$TimeFrame = 'from ' . $Mini['From'] . ' To ' . $Mini['To'] . ' ' . $Mini['Unit'] . ' before dept';
}
//$MiniFR[$Type][$kk] = $Mini;
$MiniFR[$Type][$kk]['sector'] = $Mini['JourneyPoints'];
$MiniFR[$Type][$kk]['amount'] = $Mini['Details'];
$MiniFR[$Type][$kk]['additionalFee'] = $getCancelCharge;
$MiniFR[$Type][$kk]['TimeFrame'] = $TimeFrame;
$MiniFR[$Type][$kk]['policyInfo'] = [];
}
}
}
}
$tripbinfo = [];
if ($result['Segments']) {
foreach ($result['Segments'] as $value) {
if ($value) {
foreach ($value as $kk => $vl) {
$Baggage = $vl['Baggage'];
$CabinBaggage = $vl['CabinBaggage'];
$SectorsCode = $vl['Origin']['Airport']['AirportCode'] . '-' . $vl['Destination']['Airport']['AirportCode'];
$tripbinfo[$SectorsCode]['ADULT'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
if (!empty($childCount)) {
$tripbinfo[$SectorsCode]['CHILD'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
}
if (!empty($infantCount)) {
$tripbinfo[$SectorsCode]['INFANT'] = ['cabin' => $CabinBaggage, 'checkin' => 'NA'];
}
}
}
}
}
$LastTicketDate = $result['LastTicketDate'];
$TicketAdvisory = $result['TicketAdvisory'];
$AirlineCode = $result['AirlineCode'];
$ValidatingAirline = $result['ValidatingAirline'];
$Currency = $result['Fare']['Currency'];
$currencySysId = $this->CurrencyId;
$BaseFare = $result['Fare']['BaseFare'];
$Tax = $result['Fare']['Tax'];
$YQTax = $result['Fare']['YQTax'];
$AdditionalTxnFeeOfrd = $result['Fare']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['Fare']['AdditionalTxnFeePub'];
$OtherCharges = $result['Fare']['OtherCharges'];
$Discount = $result['Fare']['Discount'];
$PublishedFare = $result['Fare']['PublishedFare'];
$CommissionEarned = $result['Fare']['CommissionEarned'];
$PLBEarned = $result['Fare']['PLBEarned'];
$IncentiveEarned = $result['Fare']['IncentiveEarned'];
$OfferedFare = $result['Fare']['OfferedFare'];
$TdsOnCommission = $result['Fare']['TdsOnCommission'];
$TdsOnPLB = $result['Fare']['TdsOnPLB'];
$TdsOnIncentive = $result['Fare']['TdsOnIncentive'];
$ServiceFee = $result['Fare']['ServiceFee'];
//$ResultFareType = $result['ResultFareType'];
$ResultFareType = !empty($result['FareClassification']['Type']) ? $result['FareClassification']['Type'] : $result['ResultFareType'];
$FareBreakdown = $result['FareBreakdown'];
$totalCommissions = $result['Fare']['CommissionEarned'] + $result['Fare']['PLBEarned'] + $result['Fare']['IncentiveEarned'];
$totalCommissionsOnTds = $result['Fare']['TdsOnCommission'] + $result['Fare']['TdsOnIncentive'] + $result['Fare']['TdsOnPLB'];
$TotalPassengerCountForDiscount = $adultCount + $childCount;
$intDiscountPerHead = $totalCommissions / $TotalPassengerCountForDiscount;
//$intDiscountPerHead = $totalCommissions;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $totalCommissions,
'TdsOnPLB' => $totalCommissionsOnTds,
'MUFee' => $ServiceFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
//echo "<pre>"; print_r($arrMarkUps);echo "</pre>";
$intPublishedFare = $arrMarkUps['PublishFare'];
$countBreakUp = count($FareBreakdown);
foreach ($FareBreakdown as $pk => $pax) {
$intBaseFare = $pax['BaseFare'];
$intTax = $pax['Tax'];
$OtherCharges_ = ($OtherCharges / $countBreakUp);
$intDiscountPerHead_ = ($intDiscountPerHead / $countBreakUp);
$intBaseFareCal = $intBaseFare - $intDiscountPerHead_;
$intFareOfferedToPax = $intBaseFareCal + $intTax;
$intPassengerCount = isset($pax['PassengerCount']) ? $pax['PassengerCount'] : 0;
$arrFareBreakdown[$pk]['Currency'] = $pax['Currency'];
$arrFareBreakdown[$pk]['PassengerType'] = $pax['PassengerType'];
$arrFareBreakdown[$pk]['PassengerCount'] = $pax['PassengerCount'];
$arrFareBreakdown[$pk]['TaxIN'] = ($pax['Tax']);
$arrFareBreakdown[$pk]['TotalBaseFare'] = 0;
$arrFareBreakdown[$pk]['BaseFareCal'] = ($arrMarkUps['BaseFareCal'] / $countBreakUp);
$arrFareBreakdown[$pk]['BaseFare'] = ($intBaseFareCal);
$arrFareBreakdown[$pk]['CommissionEarned'] = ($totalCommissions / $countBreakUp);
$arrFareBreakdown[$pk]['OtherCharges'] = ($OtherCharges_);
$arrFareBreakdown[$pk]['TDS'] = ($totalCommissionsOnTds / $countBreakUp);
$arrFareBreakdown[$pk]['MF'] = 0;
$arrFareBreakdown[$pk]['YQ'] = $pax['YQTax'];
$arrFareBreakdown[$pk]['AGST'] = 0;
$arrFareBreakdown[$pk]['MFT'] = 0;
$arrFareBreakdown[$pk]['OT'] = $pax['Tax'];
$arrFareBreakdown[$pk]['MU'] = 0;
$arrFareBreakdown[$pk]['YR'] = 0;
$arrFareBreakdown[$pk]['intTotalGST'] = ($arrMarkUps['intTotalGST'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiMarkup'] = ($arrMarkUps['apiMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['IntCommission'] = ($arrMarkUps['IntCommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiTaxOnMarkup'] = ($arrMarkUps['apiTaxOnMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['FixedMarkUp'] = ($arrMarkUps['IntAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTOnMarkUp'] = ($arrMarkUps['IntTaxOnAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['CommEarned'] = ($arrMarkUps['IntCommission'] / $countBreakUp);; //($arrMarkUps['intCommisionEarnedForAgency'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTonComm'] = 0;
$arrFareBreakdown[$pk]['intGTXMarkUp'] = ($arrMarkUps['intGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GTXMarkUpGST'] = ($arrMarkUps['intSTaxOnGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['Agencycommission'] = ($arrMarkUps['Agencycommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['AdditionalTxnFeeOfrd'] = $pax['AdditionalTxnFeeOfrd'];
$arrFareBreakdown[$pk]['AdditionalTxnFeePub'] = $pax['AdditionalTxnFeePub'];
$arrFareBreakdown[$pk]['PGCharge'] = 0;
$arrFareBreakdown[$pk]['Baggage'] = ''; //Check In Baggage;
$arrFareBreakdown[$pk]['CabinBaggage'] = ''; //Cabin Baggage ;
}
$arrFairRules[0] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => 0,
"AirlineGSTComponent" => 0,
"CarrierMiscFee" => 0,
"MUFee" => 0,
"intPublishedFare" => $PublishedFare,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"PublishedFareAgent" => ($arrMarkUps['CostToAgentCustomer'] * $this->CurrencyRate),
"OfferedFareAgent" => ($arrMarkUps['CostToAgent'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"PriceID" => $ResultIndex,
"ApiResultIndex" => $ResultIndex,
"IsGSTRequired" => $IsGSTMandatory,
"fareIdentifier" => $ResultFareType,
"FareColor" => $FareColor,
"FareClass" => $cabinClass,
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'], //$arrMarkUps['intCommisionEarnedForAgency'],
"CommEarnedAgent" => $arrMarkUps['AgentB2CEarning'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"FareBreakdown" => $arrFareBreakdown,
// "arrMarkUps" => $arrMarkUps,
"tripbinfo" => $tripbinfo,
"MiniFR" => $MiniFR,
);
//echo '<pre>';print_r($arrFairRules);die;
$originCity = $result['Segments'][0][0]['Origin']['Airport']['CityName'];
$DestinationCity = $result['Segments'][0][0]['Destination']['Airport']['CityName'];
$AirlineCode = $result['Segments'][0][0]['Airline']['AirlineCode'];
$FlightNumber = $result['Segments'][0][0]['Airline']['FlightNumber'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $result['Segments'][0][0]['Airline']['AirlineName'];
$strFareClass = $result['Segments'][0][0]['Airline']['FareClass'];
$AccumulatedDuration = 0;
// echo '<pre>';
// print_r(($arrFairRules));
// echo '<pre>';
// print_r(($strFlightNumber));
// echo '<pre>';
// print_r(($PublishedFare));
// echo '<pre>';
// print_r(($OfferedFare));
// die;
$arrSegments = [];
$FareClassArr = [];
if (!empty($result['Segments'][0])) {
$FlyingMinutes = 0;
$countSeg = count($result['Segments'][0]);
foreach ($result['Segments'][0] as $segmentsResult) {
$Duration = $segmentsResult['Duration'];
if ($countSeg >= 2) {
$AccumulatedDuration += isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : (0);
} else {
$AccumulatedDuration += ($segmentsResult['Duration'] + $segmentsResult['GroundTime']);
}
$FlyingMinutes = $FlyingMinutes + (isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : ($segmentsResult['Duration'] + $segmentsResult['GroundTime']));
$LAYOVERMinutes = ((isset($segmentsResult['GroundTime']) ? $segmentsResult['GroundTime'] : 0));
$DepTime = $segmentsResult['Origin']['DepTime'];
$ArrTime = $segmentsResult['Destination']['ArrTime'];
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($LAYOVERMinutes);
// FOR FLIGHT SEGMENTS.....
$strBaggage = $segmentsResult['Baggage'];
$strCabinBaggage = $segmentsResult['CabinBaggage'];
if (!empty($strBaggage)) {
$IsBaggage = 1;
$IsBagIncludes = true;
} else {
$IsBaggage = 0;
$IsBagIncludes = false;
}
if (!empty($strCabinBaggage)) {
$strCabinBaggage = $strCabinBaggage;
} else {
$strCabinBaggage = '0 KG';
}
$TripIndicator = $segmentsResult['TripIndicator'];
$SegmentIndicator = $segmentsResult['SegmentIndicator'];
$strAirlineCode = $segmentsResult['Airline']['AirlineCode'];
$AirlineName = $segmentsResult['Airline']['AirlineName'];
$FlightNumber = $segmentsResult['Airline']['FlightNumber'];
$FareClass = $segmentsResult['Airline']['FareClass'];
$FareClassArr[] = $FareClass;
$SegFlightNumber = $strAirlineCode . "-" . $FlightNumber;
$DepTerminal = $segmentsResult['Origin']['Airport']['Terminal'];
if (!empty($DepTerminal)) {
$DepTerminal = $DepTerminal;
} else {
$DepTerminal = 0;
}
$ArrTerminal = $segmentsResult['Destination']['Airport']['Terminal'];
if (!empty($ArrTerminal)) {
$ArrTerminal = $ArrTerminal;
} else {
$ArrTerminal = 0;
}
$originAirportName = $segmentsResult['Origin']['Airport']['AirportName'];
$originAirportCode = $segmentsResult['Origin']['Airport']['AirportCode'];
$originCityName = $segmentsResult['Origin']['Airport']['CityName'];
$originCountryName = $segmentsResult['Origin']['Airport']['CountryName'];
$originDepTime = $segmentsResult['Origin']['DepTime'];
$destinationAirportName = $segmentsResult['Destination']['Airport']['AirportName'];
$destinationAirportCode = $segmentsResult['Destination']['Airport']['AirportCode'];
$destinationCityName = $segmentsResult['Destination']['Airport']['CityName'];
$destinationCountryName = $segmentsResult['Destination']['Airport']['CountryName'];
$destinationArrTime = $segmentsResult['Destination']['ArrTime'];
$Duration = $segmentsResult['Duration'];
$GroundTime = $segmentsResult['GroundTime'];
$Mile = $segmentsResult['Mile'];
$StopOver = $segmentsResult['StopOver'];
$StopPoint = $segmentsResult['StopPoint'];
$StopPointArrivalTime = $segmentsResult['StopPointArrivalTime'];
$StopPointDepartureTime = $segmentsResult['StopPointDepartureTime'];
$Craft = $segmentsResult['Craft'];
$Remark = $segmentsResult['Remark'];
$IsETicketEligible = $segmentsResult['IsETicketEligible'];
$NoOfSeatAvailable = !empty($segmentsResult['NoOfSeatAvailable']) ? $segmentsResult['NoOfSeatAvailable'] : 0;
$FlightStatus = $segmentsResult['FlightStatus'];
$Status = $segmentsResult['Status'];
$strAirlineCodeLogo = $strAirlineCode;
$filePath = $this->getflightlogo($strAirlineCodeLogo);
//$filePath = $_SERVER['DOCUMENT_ROOT'] . "/public/upload/AirlineLogo/";
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->convertMinutesToHoursFormat((isset($segmentsResult['Duration']) ? $segmentsResult['Duration'] : 0));
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($ArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DepTime);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
// $strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->CalculateTotalTime($strArrivalDtTime,$strDepartureDtTime);
$arrSegments[] = array(
"segmentid" => $FlightNumber,
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $strAirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => $TripIndicator,
"isReturnSegment" => ($TripIndicator == 1) ? false : true,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"SegmentIndicator" => $SegmentIndicator,
"Duration" => $Duration,
"GroundTime" => $GroundTime,
"Mile" => $Mile,
"StopOver" => $StopOver,
"StopPoint" => $StopPoint,
"StopPointArrivalTime" => $StopPointArrivalTime,
"StopPointDepartureTime" => $StopPointDepartureTime,
"Craft" => $Craft,
"Remark" => $Remark,
"IsETicketEligible" => $IsETicketEligible,
"FlightStatus" => $FlightStatus,
"Status" => $Status,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
// FOR FLIGHT SEGMENTS.....
}
}
$airlineSysId = !empty($arrAirlineList[$result['AirlineCode']]) ? $arrAirlineList[$result['AirlineCode']] : '0';
$FlyingMinutes = $AccumulatedDuration;
if (count($result['Segments'][0]) == 1) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][0]['Destination'];
} elseif (count($result['Segments'][0]) == 2) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][1]['Destination'];
} elseif (count($result['Segments'][0]) == 3) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][2]['Destination'];
}
$strSourceAirportCode = $DepOrigin['Airport']['AirportCode'];
$strDestinationAirportCode = $DepDestination['Airport']['AirportCode'];
if (count($result['Segments'][0]) > 1) {
$SegmentsCount = count($result['Segments'][0]);
$StopCount = $SegmentsCount - 1;
$IsDirect = '0';
$initialOriginDepTime = $result['Segments'][0][0]['Origin']['DepTime'];
$initialOriginArrTime = $result['Segments'][0][1]['Destination']['ArrTime'];
} else {
$StopCount = '0';
$IsDirect = '1';
$initialOriginDepTime = $result['Segments'][0][0]['Origin']['DepTime'];
$initialOriginArrTime = $result['Segments'][0][0]['Destination']['ArrTime'];
}
// echo '<pre>';print_r($StopCount);
$strAirlineCodeEX = explode("-", trim($strFlightNumber));
$strAirlineCodeLogo = $strAirlineCodeEX[0];
$filePath = $this->getflightlogo($strAirlineCodeLogo);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($initialOriginArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($initialOriginDepTime);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
if ($StopCount == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $StopCount . " Stop(s)";
}
if ($IsRefundable) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Non Refundable';
}
$classOfBooking = implode(',', $FareClassArr);
$arrFairRules[0]['classOfBooking'] = $classOfBooking;
//$arrFairRules[0]['FareClass'] = $FlightClass;
$arrFairRules[0]['IsRefundableTxt'] = $IsRefundableTxt;
$arrFairRules[0]['SeatAvailable'] = $NoOfSeatAvailable;
$intJourneyType = 1;
$intTripType = 1;
$localFromDateTime = str_replace(' ', 'T', $initialOriginDepTime); //date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = str_replace(' ', 'T', $initialOriginArrTime); //date("Y-m-d h:i", strtotime($strReturnDate));
//echo '<pre>';print_r($initialOriginDepTime);
//echo '<pre>';print_r($localFromDateTime);
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = ucwords(strtolower($strAirlineName));
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['FlightNumberCode'] = $strAirlineCodeEX[1];
$arrInsertFlightData[$key]['ApiSource'] = $Source;
$arrInsertFlightData[$key]['AirlineRemark'] = $AirlineRemark;
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsTJFlightAPI'] = $this->IsTJFlightAPI;
$arrInsertFlightData[$key]['IsGSTMandatory'] = $IsGSTMandatory;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['TravelDate'] = $localFromDateTime;
$arrInsertFlightData[$key]['LocalFromTime'] = $localFromDateTime;
$arrInsertFlightData[$key]['FromUTCTime'] = $initialOriginDepTime;
$arrInsertFlightData[$key]['LocalToTime'] = $localToDateTime;
$arrInsertFlightData[$key]['ToUTCTime'] = $initialOriginArrTime;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($localFromDateTime));
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['IsDirect'] = $IsDirect;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['FlightClass'] = $FlightClass;
$arrInsertFlightData[$key]['DayLightSavingDiff'] = $DayLightSavingDiff;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = '';
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = $currencySysId;
$arrInsertFlightData[$key]['Currency'] = $this->CurrencyTitle;
$arrInsertFlightData[$key]['PublishedFare'] = $intPublishedFare; // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($intPublishedFare); // As Discussed with GG
$arrInsertFlightData[$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $arrFairRules;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['ICSourceSysId'] = 3;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 2';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = 0;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrAirlineName[] = $AirlineCode . '-' . ucwords(strtolower($strAirlineName));
$AttPriceRange[] = $intPublishedFare * $this->CurrencyRate;
$FiltStopCount[] = $StopCountTxt;
$FiltSupplier[] = 'Supplier 2';
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
if ($interNationalSearch == 1 && $strFlightRoute == 2) {
$RoundTrip = $this->FlightDataInterRoundTripTBO($apiResponse, $sessionFlightSearchParams, $AgencySysId);
return $RoundTrip;
} else {
$RoundTrip = $this->FlightDataRoundTripTBO($apiResponse, $sessionFlightSearchParams, $AgencySysId);
if (isset($RoundTrip['inbound']) && !empty($RoundTrip['inbound'])) {
$AttPriceRange = array_merge($AttPriceRange, $RoundTrip['AttPriceRange']);
$arrAirlineName = array_values(array_unique(array_merge($arrAirlineName, $RoundTrip['arrAirlineName'])));
$FiltStopCount = array_values(array_unique(array_merge($FiltStopCount, $RoundTrip['FiltStopCount'])));
$FiltSupplier = array_values(array_unique(array_merge($FiltSupplier, $RoundTrip['FiltSupplier'])));
}
return ['outbound' => $arrInsertFlightData, 'inbound' => $RoundTrip['inbound'], 'FiltSupplier' => array_values(array_unique($FiltSupplier)), 'AttPriceRange' => array_values(array_unique($AttPriceRange)), 'FiltStopCount' => array_values(array_unique($FiltStopCount)), 'arrAirlineName' => array_values(array_unique($arrAirlineName))];
}
}
}
public function FlightDataRoundTripTBO($apiResponse, $sessionFlightSearchParams, $AgencySysId)
{
$bookingAllowed = trim($sessionFlightSearchParams['bookingAllowed']);
$flight_class = trim($sessionFlightSearchParams['flight_class']);
$preferredFlightClassType = ($flight_class == 1) ? 2 : $flight_class;
$arrFlightClass = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getFlightClasses();
$cabinClass = isset($arrFlightClass[$preferredFlightClassType]) ? $arrFlightClass[$preferredFlightClassType] : 'Economy';
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = $sessionFlightSearchParams['return_dates'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$getCancelCharge = $this->getCancelCharge($intCountryCode, $AgencySysId);
$strDepatureDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strDepatureDate, 'd/m/y');
$strReturnDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strReturnDate, 'd/m/y');
$intResponseStatus = !empty($apiResponse['ResponseStatus']) ? $apiResponse['ResponseStatus'] : '0';
if ($intResponseStatus == 1) {
$DayLightSavingDiff = 0;
$AirportHaultMinutes = 0;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$FiltSupplier = [];
$FiltPriceRange = [];
$AttPriceRange = [];
foreach ($apiResponse['InBoundFlightResults'] as $key => $result) {
$IsGSTMandatory = isset($result['IsGSTMandatory']) ? $result['IsGSTMandatory'] : 0;
$ResultIndex = $result['ResultIndex'];
$FareColor = $result['FareClassification']['Color'];
$Source = $result['Source'];
$IsLCC = $result['IsLCC'];
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$IsRefundable = ($result['IsRefundable']) ? 1 : 0;
$AirlineRemark = $result['AirlineRemark'];
$MiniFareRules = (isset($result['MiniFareRules']) && !empty($result['MiniFareRules'])) ? $result['MiniFareRules'] : [];
$MiniFR = [];
if ($MiniFareRules) {
foreach ($MiniFareRules as $Minivalue) {
if ($Minivalue) {
foreach ($Minivalue as $kk => $Mini) {
$Type = !empty($Mini['Type']) ? strtoupper($Mini['Type']) : 'NA';
if (empty($Mini['To'])) {
$TimeFrame = 'from ' . $Mini['From'] . ' ' . $Mini['Unit'] . ' & above before dept';
} else {
$TimeFrame = 'from ' . $Mini['From'] . ' To ' . $Mini['To'] . ' ' . $Mini['Unit'] . ' before dept';
}
//$MiniFR[$Type][$kk] = $Mini;
$MiniFR[$Type][$kk]['sector'] = $Mini['JourneyPoints'];
$MiniFR[$Type][$kk]['amount'] = $Mini['Details'];
$MiniFR[$Type][$kk]['additionalFee'] = $getCancelCharge;
$MiniFR[$Type][$kk]['TimeFrame'] = $TimeFrame;
$MiniFR[$Type][$kk]['policyInfo'] = [];
}
}
}
}
$tripbinfo = [];
if ($result['Segments']) {
foreach ($result['Segments'] as $value) {
if ($value) {
foreach ($value as $kk => $vl) {
$Baggage = $vl['Baggage'];
$CabinBaggage = $vl['CabinBaggage'];
$SectorsCode = $vl['Origin']['Airport']['AirportCode'] . '-' . $vl['Destination']['Airport']['AirportCode'];
$tripbinfo[$SectorsCode]['ADULT'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
if (!empty($childCount)) {
$tripbinfo[$SectorsCode]['CHILD'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
}
if (!empty($infantCount)) {
$tripbinfo[$SectorsCode]['INFANT'] = ['cabin' => $CabinBaggage, 'checkin' => 'NA'];
}
}
}
}
}
$LastTicketDate = $result['LastTicketDate'];
$TicketAdvisory = $result['TicketAdvisory'];
$AirlineCode = $result['AirlineCode'];
$ValidatingAirline = $result['ValidatingAirline'];
$Currency = $result['Fare']['Currency'];
$currencySysId = $this->CurrencyId;
$BaseFare = $result['Fare']['BaseFare'];
$Tax = $result['Fare']['Tax'];
$YQTax = $result['Fare']['YQTax'];
$AdditionalTxnFeeOfrd = $result['Fare']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['Fare']['AdditionalTxnFeePub'];
$OtherCharges = $result['Fare']['OtherCharges'];
$Discount = $result['Fare']['Discount'];
$PublishedFare = $result['Fare']['PublishedFare'];
$CommissionEarned = $result['Fare']['CommissionEarned'];
$PLBEarned = $result['Fare']['PLBEarned'];
$IncentiveEarned = $result['Fare']['IncentiveEarned'];
$OfferedFare = $result['Fare']['OfferedFare'];
$TdsOnCommission = $result['Fare']['TdsOnCommission'];
$TdsOnPLB = $result['Fare']['TdsOnPLB'];
$TdsOnIncentive = $result['Fare']['TdsOnIncentive'];
$ServiceFee = $result['Fare']['ServiceFee'];
$ResultFareType = $result['ResultFareType'];
$ResultFareType = !empty($result['FareClassification']['Type']) ? $result['FareClassification']['Type'] : $result['ResultFareType'];
$FareBreakdown = $result['FareBreakdown'];
$totalCommissions = $result['Fare']['CommissionEarned'] + $result['Fare']['PLBEarned'] + $result['Fare']['IncentiveEarned'];
$totalCommissionsOnTds = $result['Fare']['TdsOnCommission'] + $result['Fare']['TdsOnIncentive'] + $result['Fare']['TdsOnPLB'];
$TotalPassengerCountForDiscount = $adultCount + $childCount;
$intDiscountPerHead = $totalCommissions / $TotalPassengerCountForDiscount;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $totalCommissions,
'TdsOnPLB' => $totalCommissionsOnTds,
'MUFee' => $ServiceFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
$intPublishedFare = $arrMarkUps['PublishFare'];
$countBreakUp = count($FareBreakdown);
foreach ($FareBreakdown as $pk => $pax) {
$intBaseFare = $pax['BaseFare'];
$intTax = $pax['Tax'];
$OtherCharges_ = ($OtherCharges / $countBreakUp);
$intDiscountPerHead_ = ($intDiscountPerHead / $countBreakUp);
$intBaseFareCal = $intBaseFare - $intDiscountPerHead_;
$intFareOfferedToPax = $intBaseFareCal + $intTax;
$intPassengerCount = isset($pax['PassengerCount']) ? $pax['PassengerCount'] : 0;
$arrFareBreakdown[$pk]['Currency'] = $pax['Currency'];
$arrFareBreakdown[$pk]['PassengerType'] = $pax['PassengerType'];
$arrFareBreakdown[$pk]['PassengerCount'] = $pax['PassengerCount'];
$arrFareBreakdown[$pk]['TaxIN'] = ($pax['Tax']);
$arrFareBreakdown[$pk]['TotalBaseFare'] = 0;
$arrFareBreakdown[$pk]['BaseFareCal'] = ($arrMarkUps['BaseFareCal'] / $countBreakUp);
$arrFareBreakdown[$pk]['BaseFare'] = ($intBaseFareCal);
$arrFareBreakdown[$pk]['CommissionEarned'] = ($totalCommissions / $countBreakUp);
$arrFareBreakdown[$pk]['OtherCharges'] = ($OtherCharges_);
$arrFareBreakdown[$pk]['TDS'] = ($totalCommissionsOnTds / $countBreakUp);
$arrFareBreakdown[$pk]['MF'] = 0;
$arrFareBreakdown[$pk]['YQ'] = $pax['YQTax'];
$arrFareBreakdown[$pk]['AGST'] = 0;
$arrFareBreakdown[$pk]['MFT'] = 0;
$arrFareBreakdown[$pk]['OT'] = $pax['Tax'];
$arrFareBreakdown[$pk]['MU'] = 0;
$arrFareBreakdown[$pk]['YR'] = 0;
$arrFareBreakdown[$pk]['intTotalGST'] = ($arrMarkUps['intTotalGST'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiMarkup'] = ($arrMarkUps['apiMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['IntCommission'] = ($arrMarkUps['IntCommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiTaxOnMarkup'] = ($arrMarkUps['apiTaxOnMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['FixedMarkUp'] = ($arrMarkUps['IntAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTOnMarkUp'] = ($arrMarkUps['IntTaxOnAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['CommEarned'] = ($arrMarkUps['IntCommission'] / $countBreakUp);; //($arrMarkUps['intCommisionEarnedForAgency'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTonComm'] = 0;
$arrFareBreakdown[$pk]['intGTXMarkUp'] = ($arrMarkUps['intGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GTXMarkUpGST'] = ($arrMarkUps['intSTaxOnGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['Agencycommission'] = ($arrMarkUps['Agencycommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['AdditionalTxnFeeOfrd'] = $pax['AdditionalTxnFeeOfrd'];
$arrFareBreakdown[$pk]['AdditionalTxnFeePub'] = $pax['AdditionalTxnFeePub'];
$arrFareBreakdown[$pk]['PGCharge'] = 0;
$arrFareBreakdown[$pk]['Baggage'] = ''; //Check In Baggage;
$arrFareBreakdown[$pk]['CabinBaggage'] = ''; //Cabin Baggage ;
}
$arrFairRules[0] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => 0,
"AirlineGSTComponent" => 0,
"CarrierMiscFee" => 0,
"MUFee" => 0,
"intPublishedFare" => $PublishedFare,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"PublishedFareAgent" => ($arrMarkUps['CostToAgentCustomer'] * $this->CurrencyRate),
"OfferedFareAgent" => ($arrMarkUps['CostToAgent'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"PriceID" => $ResultIndex,
"ApiResultIndex" => $ResultIndex,
"IsGSTRequired" => $IsGSTMandatory,
"fareIdentifier" => $ResultFareType,
"FareColor" => $FareColor,
"FareClass" => $cabinClass,
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'], //$arrMarkUps['intCommisionEarnedForAgency'],
"CommEarnedAgent" => $arrMarkUps['AgentB2CEarning'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"FareBreakdown" => $arrFareBreakdown,
// "arrMarkUps" => $arrMarkUps,
"tripbinfo" => $tripbinfo,
"MiniFR" => $MiniFR,
);
//echo '<pre>';print_r($arrFairRules);die;
$originCity = $result['Segments'][0][0]['Origin']['Airport']['CityName'];
$DestinationCity = $result['Segments'][0][0]['Destination']['Airport']['CityName'];
$AirlineCode = $result['Segments'][0][0]['Airline']['AirlineCode'];
$FlightNumber = $result['Segments'][0][0]['Airline']['FlightNumber'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $result['Segments'][0][0]['Airline']['AirlineName'];
$strFareClass = $result['Segments'][0][0]['Airline']['FareClass'];
$AccumulatedDuration = 0;
$arrSegments = [];
$FareClassArr = [];
if (!empty($result['Segments'][0]) ) {
$FlyingMinutes = 0;
$countSeg = count($result['Segments'][0]);
foreach ($result['Segments'][0] as $segmentsResult) {
$Duration = $segmentsResult['Duration'];
if ($countSeg >= 2) {
$AccumulatedDuration += isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : (0);
} else {
$AccumulatedDuration += ($segmentsResult['Duration'] + $segmentsResult['GroundTime']);
}
$FlyingMinutes = $FlyingMinutes + (isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : ($segmentsResult['Duration'] + $segmentsResult['GroundTime']));
$LAYOVERMinutes = ((isset($segmentsResult['GroundTime']) ? $segmentsResult['GroundTime'] : 0));
$DepTime = $segmentsResult['Origin']['DepTime'];
$ArrTime = $segmentsResult['Destination']['ArrTime'];
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($LAYOVERMinutes);
// FOR FLIGHT SEGMENTS.....
$strBaggage = $segmentsResult['Baggage'];
$strCabinBaggage = $segmentsResult['CabinBaggage'];
if (!empty($strBaggage)) {
$IsBaggage = 1;
$IsBagIncludes = true;
} else {
$IsBaggage = 0;
$IsBagIncludes = false;
}
if (!empty($strCabinBaggage)) {
$strCabinBaggage = $strCabinBaggage;
} else {
$strCabinBaggage = '0 KG';
}
$TripIndicator = $segmentsResult['TripIndicator'];
$SegmentIndicator = $segmentsResult['SegmentIndicator'];
$strAirlineCode = $segmentsResult['Airline']['AirlineCode'];
$AirlineName = $segmentsResult['Airline']['AirlineName'];
$FlightNumber = $segmentsResult['Airline']['FlightNumber'];
$FareClass = $segmentsResult['Airline']['FareClass'];
$FareClassArr[] = $FareClass;
$SegFlightNumber = $strAirlineCode . "-" . $FlightNumber;
$DepTerminal = $segmentsResult['Origin']['Airport']['Terminal'];
if (!empty($DepTerminal)) {
$DepTerminal = $DepTerminal;
} else {
$DepTerminal = 0;
}
$ArrTerminal = $segmentsResult['Destination']['Airport']['Terminal'];
if (!empty($ArrTerminal)) {
$ArrTerminal = $ArrTerminal;
} else {
$ArrTerminal = 0;
}
$originAirportName = $segmentsResult['Origin']['Airport']['AirportName'];
$originAirportCode = $segmentsResult['Origin']['Airport']['AirportCode'];
$originCityName = $segmentsResult['Origin']['Airport']['CityName'];
$originCountryName = $segmentsResult['Origin']['Airport']['CountryName'];
$originDepTime = $segmentsResult['Origin']['DepTime'];
$destinationAirportName = $segmentsResult['Destination']['Airport']['AirportName'];
$destinationAirportCode = $segmentsResult['Destination']['Airport']['AirportCode'];
$destinationCityName = $segmentsResult['Destination']['Airport']['CityName'];
$destinationCountryName = $segmentsResult['Destination']['Airport']['CountryName'];
$destinationArrTime = $segmentsResult['Destination']['ArrTime'];
$Duration = $segmentsResult['Duration'];
$GroundTime = $segmentsResult['GroundTime'];
$Mile = $segmentsResult['Mile'];
$StopOver = $segmentsResult['StopOver'];
$StopPoint = $segmentsResult['StopPoint'];
$StopPointArrivalTime = $segmentsResult['StopPointArrivalTime'];
$StopPointDepartureTime = $segmentsResult['StopPointDepartureTime'];
$Craft = $segmentsResult['Craft'];
$Remark = $segmentsResult['Remark'];
$IsETicketEligible = $segmentsResult['IsETicketEligible'];
$NoOfSeatAvailable = !empty($segmentsResult['NoOfSeatAvailable']) ? $segmentsResult['NoOfSeatAvailable'] : 0;
$FlightStatus = $segmentsResult['FlightStatus'];
$Status = $segmentsResult['Status'];
$strAirlineCodeLogo = $strAirlineCode;
$filePath = $this->getflightlogo($strAirlineCodeLogo);
//$filePath = $_SERVER['DOCUMENT_ROOT'] . "/public/upload/AirlineLogo/";
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->convertMinutesToHoursFormat((isset($segmentsResult['Duration']) ? $segmentsResult['Duration'] : 0));
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($ArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DepTime);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
// $strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->CalculateTotalTime($strArrivalDtTime,$strDepartureDtTime);
$arrSegments[] = array(
"segmentid" => $FlightNumber,
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $strAirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => $TripIndicator,
"isReturnSegment" => ($TripIndicator == 1) ? false : true,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"SegmentIndicator" => $SegmentIndicator,
"Duration" => $Duration,
"GroundTime" => $GroundTime,
"Mile" => $Mile,
"StopOver" => $StopOver,
"StopPoint" => $StopPoint,
"StopPointArrivalTime" => $StopPointArrivalTime,
"StopPointDepartureTime" => $StopPointDepartureTime,
"Craft" => $Craft,
"Remark" => $Remark,
"IsETicketEligible" => $IsETicketEligible,
"FlightStatus" => $FlightStatus,
"Status" => $Status,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
// FOR FLIGHT SEGMENTS.....
}
}
$airlineSysId = !empty($arrAirlineList[$result['AirlineCode']]) ? $arrAirlineList[$result['AirlineCode']] : '0';
$FlyingMinutes = $AccumulatedDuration;
if (count($result['Segments'][0]) == 1) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][0]['Destination'];
} elseif (count($result['Segments'][0]) == 2) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][1]['Destination'];
} elseif (count($result['Segments'][0]) == 3) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][2]['Destination'];
}
$strSourceAirportCode = $DepOrigin['Airport']['AirportCode'];
$strDestinationAirportCode = $DepDestination['Airport']['AirportCode'];
if (count($result['Segments'][0]) > 1) {
$SegmentsCount = count($result['Segments'][0]);
$StopCount = $SegmentsCount - 1;
$IsDirect = '0';
$initialOriginDepTime = $result['Segments'][0][0]['Origin']['DepTime'];
$initialOriginArrTime = $result['Segments'][0][1]['Destination']['ArrTime'];
} else {
$StopCount = '0';
$IsDirect = '1';
$initialOriginDepTime = $result['Segments'][0][0]['Origin']['DepTime'];
$initialOriginArrTime = $result['Segments'][0][0]['Destination']['ArrTime'];
}
// echo '<pre>';print_r($StopCount);
$strAirlineCodeEX = explode("-", trim($strFlightNumber));
$strAirlineCodeLogo = $strAirlineCodeEX[0];
$filePath = $this->getflightlogo($strAirlineCodeLogo);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($initialOriginArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($initialOriginDepTime);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
if ($StopCount == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $StopCount . " Stop(s)";
}
if ($IsRefundable) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Non Refundable';
}
$classOfBooking = implode(',', $FareClassArr);
$arrFairRules[0]['classOfBooking'] = $classOfBooking;
$arrFairRules[0]['IsRefundableTxt'] = $IsRefundableTxt;
$arrFairRules[0]['SeatAvailable'] = $NoOfSeatAvailable;
$intJourneyType = 2;
$intTripType = 1;
$localFromDateTime = str_replace(' ', 'T', $initialOriginDepTime); //date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = str_replace(' ', 'T', $initialOriginArrTime); //date("Y-m-d h:i", strtotime($strReturnDate));
//echo '<pre>';print_r($initialOriginDepTime);
//echo '<pre>';print_r($localFromDateTime);
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = ucwords(strtolower($strAirlineName));
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['FlightNumberCode'] = $strAirlineCodeEX[1];
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsTJFlightAPI'] = $this->IsTJFlightAPI;
$arrInsertFlightData[$key]['IsGSTMandatory'] = $IsGSTMandatory;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['TravelDate'] = $localFromDateTime;
$arrInsertFlightData[$key]['LocalFromTime'] = $localFromDateTime;
$arrInsertFlightData[$key]['FromUTCTime'] = $initialOriginDepTime;
$arrInsertFlightData[$key]['LocalToTime'] = $localToDateTime;
$arrInsertFlightData[$key]['ToUTCTime'] = $initialOriginArrTime;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($localFromDateTime));
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['IsDirect'] = $IsDirect;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['FlightClass'] = $FlightClass;
$arrInsertFlightData[$key]['DayLightSavingDiff'] = $DayLightSavingDiff;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = '';
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = $currencySysId;
$arrInsertFlightData[$key]['Currency'] = $this->CurrencyTitle;
$arrInsertFlightData[$key]['PublishedFare'] = $intPublishedFare; // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($intPublishedFare); // As Discussed with GG
$arrInsertFlightData[$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $arrFairRules;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['ICSourceSysId'] = 3;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 2';
$arrInsertFlightData[$key]['IsTJFlightAPI'] = 0;
$arrInsertFlightData[$key]['bookingAllowed'] = $bookingAllowed;
$arrAirlineName[] = $AirlineCode . '-' . ucwords(strtolower($strAirlineName));
$AttPriceRange[] = $intPublishedFare * $this->CurrencyRate;
$FiltStopCount[] = $StopCountTxt;
$FiltSupplier[] = 'Supplier 2';
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $strDepartureDtTime);
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
}
return ['inbound' => $arrInsertFlightData, 'FiltSupplier' => array_unique($FiltSupplier), 'AttPriceRange' => array_unique($AttPriceRange), 'FiltStopCount' => array_unique($FiltStopCount), 'arrAirlineName' => array_unique($arrAirlineName)];
}
}
public function FlightDataInterRoundTripTBO($apiResponse, $sessionFlightSearchParams, $AgencySysId)
{
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
$flight_class = trim($sessionFlightSearchParams['flight_class']);
$preferredFlightClassType = ($flight_class == 1) ? 2 : $flight_class;
$arrFlightClass = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getFlightClasses();
$cabinClass = isset($arrFlightClass[$preferredFlightClassType]) ? $arrFlightClass[$preferredFlightClassType] : 'Economy';
// echo "<pre>"; print_r($preferredFlightClassType);
// echo "<pre>"; print_r($arrFlightClass);
// echo "<pre>"; print_r($cabinClass); exit;
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = !empty($sessionFlightSearchParams['return_dates']) ? $sessionFlightSearchParams['return_dates'] : '';
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$sourceCityText = explode(',', $sessionFlightSearchParams['sourceCityText']);
$destinationCityText = explode(',', $sessionFlightSearchParams['destinationCityText']);
$intTatalPaxCT = $adultCount + $childCount;
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
//$strDepatureDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strDepatureDate, 'd/m/y');
//$strReturnDate = Zend_Controller_Action_HelperBroker::getStaticHelper('DateFormat')->cal2Db($strReturnDate, 'd/m/y');
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$arrDepatureDate = explode("/", $strDepatureDate);
if (!empty($arrDepatureDate) ) {
$strDepatureDate = $arrDepatureDate[2] . "-" . $arrDepatureDate[1] . "-" . $arrDepatureDate[0];
}
if (!empty($strReturnDate)) {
$arrReturnDepatureDate = explode("/", $strReturnDate);
if (!empty($arrReturnDepatureDate)) {
$strReturnDate = $arrReturnDepatureDate[2] . "-" . $arrReturnDepatureDate[1] . "-" . $arrReturnDepatureDate[0];
}
}
$localFromDateTime = date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = date("Y-m-d h:i", strtotime($strReturnDate));
$arrCommonInsVariables = array(
'strTraceId' => $strTraceId,
'localFromDateTime' => $localFromDateTime,
'localToDateTime' => $localToDateTime,
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 2, // For Round Trips API Search
'TripType' => $strFlightRoute,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
$strTraceId = $arrCommonInsVariables['strTraceId'];
$localFromDateTime = $arrCommonInsVariables['localFromDateTime'];
$localToDateTime = $arrCommonInsVariables['localToDateTime'];
$strSourceAirportCode = $arrCommonInsVariables['strSourceAirportCode'];
$strDestinationAirportCode = $arrCommonInsVariables['strDestinationAirportCode'];
$intMemberCount = $arrCommonInsVariables['intMemberCount'];
$intSourceCityId = $arrCommonInsVariables['intSourceCityId'];
$intDestinationCityId = $arrCommonInsVariables['intDestinationCityId'];
$intJourneyType = $arrCommonInsVariables['JourneyType'];
$intTripType = $arrCommonInsVariables['TripType'];
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '0';
$intResponseStatus = !empty($apiResponse['ResponseStatus']) ? $apiResponse['ResponseStatus'] : '0';
if ($intResponseStatus == 1) {
$DayLightSavingDiff = 0;
$AirportHaultMinutes = 0;
$arrInsertFlightData = [];
$arrAirlineName = [];
$FiltStopCount = [];
$DesFiltStopCount = [];
$FiltSupplier = [];
$AttPriceRange = [];
$FiltPriceRange = [];
$dddddddd = [];
foreach ($apiResponse['InterNationalFlightResults'] as $key => $result) {
$IsGSTMandatory = isset($result['IsGSTMandatory']) ? $result['IsGSTMandatory'] : 0;
$ResultIndex = $result['ResultIndex'];
$Source = $result['Source'];
$IsLCC = $result['IsLCC'];
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$MiniFareRules = (isset($result['MiniFareRules']) && !empty($result['MiniFareRules'])) ? $result['MiniFareRules'] : [];
$MiniFR = [];
if ($MiniFareRules) {
foreach ($MiniFareRules as $Minivalue) {
if ($Minivalue) {
foreach ($Minivalue as $kk => $Mini) {
$Type = !empty($Mini['Type']) ? strtoupper($Mini['Type']) : 'NA';
if (empty($Mini['To'])) {
$TimeFrame = 'from ' . $Mini['From'] . ' ' . $Mini['Unit'] . ' & above before dept';
} else {
$TimeFrame = 'from ' . $Mini['From'] . ' To ' . $Mini['To'] . ' ' . $Mini['Unit'] . ' before dept';
}
//$MiniFR[$Type][$kk] = $Mini;
$MiniFR[$Type][$kk]['sector'] = $Mini['JourneyPoints'];
$MiniFR[$Type][$kk]['amount'] = $Mini['Details'];
$MiniFR[$Type][$kk]['additionalFee'] = $getCancelCharge;
$MiniFR[$Type][$kk]['TimeFrame'] = $TimeFrame;
$MiniFR[$Type][$kk]['policyInfo'] = [];
}
}
}
}
$tripbinfo = [];
if ($result['Segments']) {
foreach ($result['Segments'] as $value) {
if ($value) {
foreach ($value as $kk => $vl) {
$Baggage = $vl['Baggage'];
$CabinBaggage = $vl['CabinBaggage'];
$SectorsCode = $vl['Origin']['Airport']['AirportCode'] . '-' . $vl['Destination']['Airport']['AirportCode'];
$tripbinfo[$SectorsCode]['ADULT'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
if (!empty($childCount)) {
$tripbinfo[$SectorsCode]['CHILD'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
}
if (!empty($infantCount)) {
$tripbinfo[$SectorsCode]['INFANT'] = ['cabin' => $CabinBaggage, 'checkin' => 'NA'];
}
}
}
}
}
$AirlineCode = isset($result['AirlineCode']) ? $result['AirlineCode'] : '';
if (count($result['Segments'][0]) == 1) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][0]['Destination'];
$DepData = $result['Segments'][0][0];
} elseif (count($result['Segments'][0]) == 2) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][1]['Destination'];
$DepData = $result['Segments'][0][1];
} elseif (count($result['Segments'][0]) == 3) {
$DepOrigin = $result['Segments'][0][0]['Origin'];
$DepDestination = $result['Segments'][0][2]['Destination'];
$DepData = $result['Segments'][0][2];
}
if (count($result['Segments'][1]) == 1) {
$ArrOrigin = $result['Segments'][1][0]['Origin'];
$ArrDestination = $result['Segments'][1][0]['Destination'];
$ArrData = $result['Segments'][1][0];
} elseif (count($result['Segments'][1]) == 2) {
$ArrOrigin = $result['Segments'][1][0]['Origin'];
$ArrDestination = $result['Segments'][1][1]['Destination'];
$ArrData = $result['Segments'][1][1];
} elseif (count($result['Segments'][1]) == 3) {
$ArrOrigin = $result['Segments'][1][0]['Origin'];
$ArrDestination = $result['Segments'][1][2]['Destination'];
$ArrData = $result['Segments'][1][1];
}
$Currency = $result['Fare']['Currency'];
$currencySysId = $this->CurrencyId;
$BaseFare = $result['Fare']['BaseFare'];
$Tax = $result['Fare']['Tax'];
$strFareClass = $result['Segments'][0][0]['Airline']['FareClass'];
if (count($result['Segments'][0]) > 1) {
$SegmentsCount = count($result['Segments'][0]);
$OriginStopCount = $SegmentsCount - 1;
} else {
$OriginStopCount = '0';
}
if (count($result['Segments'][1]) > 1) {
$SegmentsCountDe = count($result['Segments'][1]);
$DestinationStopCount = $SegmentsCountDe - 1;
} else {
$DestinationStopCount = '0';
}
if ($OriginStopCount == 0) {
$OrStopCountTxt = "Non-stop";
} else {
$OrStopCountTxt = $OriginStopCount . " Stop(s)";
}
if ($DestinationStopCount == 0) {
$DeStopCountTxt = "Non-stop";
} else {
$DeStopCountTxt = $DestinationStopCount . " Stop(s)";
}
if ($result['IsRefundable']) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Non Refundable';
}
$Refundable = ($result['IsRefundable']) ? 1 : 0;
$YQTax = $result['Fare']['YQTax'];
$AdditionalTxnFeeOfrd = $result['Fare']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['Fare']['AdditionalTxnFeePub'];
$OtherCharges = $result['Fare']['OtherCharges'];
$Discount = $result['Fare']['Discount'];
$PublishedFare = $result['Fare']['PublishedFare'];
$CommissionEarned = $result['Fare']['CommissionEarned'];
$PLBEarned = $result['Fare']['PLBEarned'];
$IncentiveEarned = $result['Fare']['IncentiveEarned'];
$OfferedFare = $result['Fare']['OfferedFare'];
$TdsOnCommission = $result['Fare']['TdsOnCommission'];
$TdsOnPLB = $result['Fare']['TdsOnPLB'];
$TdsOnIncentive = $result['Fare']['TdsOnIncentive'];
$ServiceFee = $result['Fare']['ServiceFee'];
$FareColor = $result['FareClassification']['Color'];
//$ResultFareType = $result['ResultFareType'];
$ResultFareType = !empty($result['FareClassification']['Type']) ? $result['FareClassification']['Type'] : $result['ResultFareType'];
$FareBreakdown = $result['FareBreakdown'];
$totalCommissions = $result['Fare']['CommissionEarned'] + $result['Fare']['PLBEarned'] + $result['Fare']['IncentiveEarned'];
$totalCommissionsOnTds = $result['Fare']['TdsOnCommission'] + $result['Fare']['TdsOnIncentive'] + $result['Fare']['TdsOnPLB'];
$TotalPassengerCountForDiscount = $adultCount + $childCount;
$intDiscountPerHead = $totalCommissions / $TotalPassengerCountForDiscount;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $totalCommissions,
'TdsOnPLB' => $totalCommissionsOnTds,
'MUFee' => $ServiceFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
$intPublishedFare = $arrMarkUps['PublishFare'];
$countBreakUp = count($FareBreakdown);
foreach ($FareBreakdown as $pk => $pax) {
$intBaseFare = $pax['BaseFare'];
$intTax = $pax['Tax'];
$OtherCharges_ = ($OtherCharges / $countBreakUp);
$intDiscountPerHead_ = ($intDiscountPerHead / $countBreakUp);
$intBaseFareCal = $intBaseFare - $intDiscountPerHead_;
$intFareOfferedToPax = $intBaseFareCal + $intTax;
$intPassengerCount = isset($pax['PassengerCount']) ? $pax['PassengerCount'] : 0;
$arrFareBreakdown[$pk]['Currency'] = $pax['Currency'];
$arrFareBreakdown[$pk]['PassengerType'] = $pax['PassengerType'];
$arrFareBreakdown[$pk]['PassengerCount'] = $pax['PassengerCount'];
$arrFareBreakdown[$pk]['TaxIN'] = ($pax['Tax']);
$arrFareBreakdown[$pk]['TotalBaseFare'] = 0;
$arrFareBreakdown[$pk]['BaseFareCal'] = ($arrMarkUps['BaseFareCal'] / $countBreakUp);
$arrFareBreakdown[$pk]['BaseFare'] = $pax['BaseFare'];
$arrFareBreakdown[$pk]['Tax'] = ($pax['Tax']);
$arrFareBreakdown[$pk]['CommissionEarned'] = ($totalCommissions / $countBreakUp);
$arrFareBreakdown[$pk]['OtherCharges'] = ($OtherCharges_);
$arrFareBreakdown[$pk]['ServiceFee'] = ($ServiceFee / $countBreakUp);
$arrFareBreakdown[$pk]['TDS'] = ($totalCommissionsOnTds / $countBreakUp);
$arrFareBreakdown[$pk]['MF'] = 0;
$arrFareBreakdown[$pk]['YQ'] = $pax['YQTax'];
$arrFareBreakdown[$pk]['AGST'] = 0;
$arrFareBreakdown[$pk]['MFT'] = 0;
$arrFareBreakdown[$pk]['OT'] = $pax['Tax'];
$arrFareBreakdown[$pk]['MU'] = ($ServiceFee / $countBreakUp);
$arrFareBreakdown[$pk]['YR'] = 0;
$arrFareBreakdown[$pk]['intTotalGST'] = ($arrMarkUps['intTotalGST'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiMarkup'] = ($arrMarkUps['apiMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['CommisionPass'] = ($arrMarkUps['CommisionPass'] / $countBreakUp);
$arrFareBreakdown[$pk]['IntCommission'] = ($arrMarkUps['IntCommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiTaxOnMarkup'] = ($arrMarkUps['apiTaxOnMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['FixedMarkUp'] = ($arrMarkUps['IntAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTOnMarkUp'] = ($arrMarkUps['IntTaxOnAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['CommEarned'] = ($arrMarkUps['IntCommission'] / $countBreakUp);; //($arrMarkUps['intCommisionEarnedForAgency'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTonComm'] = 0;
$arrFareBreakdown[$pk]['intGTXMarkUp'] = ($arrMarkUps['intGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GTXMarkUpGST'] = ($arrMarkUps['intSTaxOnGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['Agencycommission'] = ($arrMarkUps['Agencycommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['AdditionalTxnFeeOfrd'] = $pax['AdditionalTxnFeeOfrd'];
$arrFareBreakdown[$pk]['AdditionalTxnFeePub'] = $pax['AdditionalTxnFeePub'];
$arrFareBreakdown[$pk]['PGCharge'] = 0;
$arrFareBreakdown[$pk]['Baggage'] = ''; //Check In Baggage;
$arrFareBreakdown[$pk]['CabinBaggage'] = ''; //Cabin Baggage ;
}
$arrFairRules[0] = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => 0,
"AirlineGSTComponent" => 0,
"CarrierMiscFee" => 0,
"MUFee" => 0,
"intPublishedFare" => $PublishedFare,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"PublishedFareAgent" => ($arrMarkUps['CostToAgentCustomer'] * $this->CurrencyRate),
"OfferedFareAgent" => ($arrMarkUps['CostToAgent'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"PriceID" => $ResultIndex,
"ApiResultIndex" => $ResultIndex,
"IsGSTRequired" => $IsGSTMandatory,
"fareIdentifier" => $ResultFareType,
"FareColor" => $FareColor,
"FareClass" => $cabinClass,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"classOfBooking" => $strFareClass,
"SeatAvailable" => $SeatAvailable,
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"CommisionPass" => $arrMarkUps['CommisionPass'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'], //$arrMarkUps['intCommisionEarnedForAgency'],
"CommEarnedAgent" => $arrMarkUps['AgentB2CEarning'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"FareBreakdown" => $arrFareBreakdown,
"tripbinfo" => $tripbinfo,
"MiniFR" => $MiniFR,
);
$AccumulatedDuration = 0;
$AccumulatedDurationD = 0;
$arrSegments = [];
$FareClassArr = [];
$SegFlightNumberArr = [];
$DestSegFlightNumberArr = [];
if (!empty($result['Segments']) ) {
foreach ($result['Segments'] as $skey => $segment) {
if ($segment) {
$FlyingMinutes = 0;
$countSeg = count($segment);
foreach ($segment as $segkey => $segmentsResult) {
$TripIndicator = $segmentsResult['TripIndicator'];
if ($TripIndicator == 2) {
$isReturnSegment = true;
} else {
$isReturnSegment = false;
}
$Duration = $segmentsResult['Duration'];
$FlyingMinutes = $FlyingMinutes + (isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : ($segmentsResult['Duration'] + $segmentsResult['GroundTime']));
$LAYOVERMinutes = ((isset($segmentsResult['GroundTime']) ? $segmentsResult['GroundTime'] : 0));
$DepTime = $segmentsResult['Origin']['DepTime'];
$ArrTime = $segmentsResult['Destination']['ArrTime'];
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($LAYOVERMinutes);
// FOR FLIGHT SEGMENTS.....
$strBaggage = $segmentsResult['Baggage'];
$strCabinBaggage = $segmentsResult['CabinBaggage'];
if (!empty($strBaggage)) {
$IsBaggage = 1;
$IsBagIncludes = true;
} else {
$IsBaggage = 0;
$IsBagIncludes = false;
}
if (!empty($strCabinBaggage)) {
$strCabinBaggage = $strCabinBaggage;
} else {
$strCabinBaggage = '0 KG';
}
$TripIndicator = $segmentsResult['TripIndicator'];
$SegmentIndicator = $segmentsResult['SegmentIndicator'];
$strAirlineCode = $segmentsResult['Airline']['AirlineCode'];
$AirlineName = $segmentsResult['Airline']['AirlineName'];
$FlightNumber = $segmentsResult['Airline']['FlightNumber'];
$FareClass = $segmentsResult['Airline']['FareClass'];
$FareClassArr[] = $FareClass;
$SegFlightNumber = $strAirlineCode . "-" . $FlightNumber;
$DepTerminal = $segmentsResult['Origin']['Airport']['Terminal'];
if (!empty($DepTerminal)) {
$DepTerminal = $DepTerminal;
} else {
$DepTerminal = 0;
}
$ArrTerminal = $segmentsResult['Destination']['Airport']['Terminal'];
if (!empty($ArrTerminal)) {
$ArrTerminal = $ArrTerminal;
} else {
$ArrTerminal = 0;
}
$originAirportName = $segmentsResult['Origin']['Airport']['AirportName'];
$originAirportCode = $segmentsResult['Origin']['Airport']['AirportCode'];
$originCityName = $segmentsResult['Origin']['Airport']['CityName'];
$originCountryName = $segmentsResult['Origin']['Airport']['CountryName'];
$originDepTime = $segmentsResult['Origin']['DepTime'];
$destinationAirportName = $segmentsResult['Destination']['Airport']['AirportName'];
$destinationAirportCode = $segmentsResult['Destination']['Airport']['AirportCode'];
$destinationCityName = $segmentsResult['Destination']['Airport']['CityName'];
$destinationCountryName = $segmentsResult['Destination']['Airport']['CountryName'];
$destinationArrTime = $segmentsResult['Destination']['ArrTime'];
$Duration = $segmentsResult['Duration'];
$GroundTime = $segmentsResult['GroundTime'];
$Mile = $segmentsResult['Mile'];
$StopOver = $segmentsResult['StopOver'];
$StopPoint = $segmentsResult['StopPoint'];
$StopPointArrivalTime = $segmentsResult['StopPointArrivalTime'];
$StopPointDepartureTime = $segmentsResult['StopPointDepartureTime'];
$Craft = $segmentsResult['Craft'];
$Remark = $segmentsResult['Remark'];
$IsETicketEligible = $segmentsResult['IsETicketEligible'];
$NoOfSeatAvailable = !empty($segmentsResult['NoOfSeatAvailable']) ? $segmentsResult['NoOfSeatAvailable'] : 0;
$FlightStatus = $segmentsResult['FlightStatus'];
$Status = $segmentsResult['Status'];
$strAirlineCodeLogo = $strAirlineCode;
$filePath = $this->getflightlogo($strAirlineCodeLogo);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->convertMinutesToHoursFormat((isset($segmentsResult['Duration']) ? $segmentsResult['Duration'] : 0));
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($ArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DepTime);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($FlyingMinutes);
if ($skey == 1) {
$SegFlightNumberArr[] = $SegFlightNumber;
if ($countSeg >= 2) {
$AccumulatedDuration += isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : (0);
} else {
$AccumulatedDuration += ($segmentsResult['Duration'] + $segmentsResult['GroundTime']);
}
} else {
$DestSegFlightNumberArr[] = $SegFlightNumber;
if ($countSeg >= 2) {
$AccumulatedDurationD += isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : (0);
} else {
$AccumulatedDurationD += ($segmentsResult['Duration'] + $segmentsResult['GroundTime']);
}
}
$arrSegments[] = array(
"isReturnSegment" => $isReturnSegment,
"segmentid" => $FlightNumber,
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $strAirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => $TripIndicator,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"SegmentIndicator" => $SegmentIndicator,
"Duration" => $Duration,
"GroundTime" => $GroundTime,
"Mile" => $Mile,
"StopOver" => $StopOver,
"StopPoint" => $StopPoint,
"StopPointArrivalTime" => $StopPointArrivalTime,
"StopPointDepartureTime" => $StopPointDepartureTime,
"Craft" => $Craft,
"Remark" => $Remark,
"IsETicketEligible" => $IsETicketEligible,
"FlightStatus" => $FlightStatus,
"Status" => $Status,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
}
}
}
}
$classOfBooking = implode(',', array_values(array_unique($FareClassArr)));
$arrFairRules[0]['classOfBooking'] = $classOfBooking;
$arrFairRules[0]['IsRefundableTxt'] = $IsRefundableTxt;
$arrFairRules[0]['SeatAvailable'] = $NoOfSeatAvailable;
//echo "<pre>===="; print_r($DepOrigin);
$OrDepTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DepOrigin['DepTime']);
$OrArrTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DepDestination['ArrTime']);
//echo "<pre>-----"; print_r($OrDepTime);
$DeDepTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($ArrOrigin['DepTime']);
$DeArrTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($ArrDestination['ArrTime']);
$arrCommonInsVariables['localFromDateTime'] = $DepOrigin['DepTime'];
$arrCommonInsVariables['localToDateTime'] = $ArrDestination['ArrTime'];
$OriFlyingMinutes = ($AccumulatedDuration);
$OriFlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($OriFlyingMinutes);
$OrFlightNumber = $DepData['Airline']['AirlineCode'] . "-" . $DepData['Airline']['FlightNumber'];
$DeFlightNumber = $ArrData['Airline']['AirlineCode'] . "-" . $ArrData['Airline']['FlightNumber'];
$strAirlineCodeLogo = $DepData['Airline']['AirlineCode'];
$DesAirlineCodeLogo = $ArrData['Airline']['AirlineCode'];
$airlineSysId = !empty($arrAirlineList[$DepData['Airline']['AirlineCode']]) ? $arrAirlineList[$DepData['Airline']['AirlineCode']] : '0';
$DeFlyingMinutes = ($AccumulatedDurationD);
$DesFlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($DeFlyingMinutes);
$OrifilePath = $this->getflightlogo($strAirlineCodeLogo);
$DesfilePath = $this->getflightlogo($DesAirlineCodeLogo);
//DepartureTime DestPlaceSysId
$arrInsertFlightData[$key]['origin']['FlightNumber'] = $DepData['Airline']['FlightNumber'];
$arrInsertFlightData[$key]['origin']['AirlineName'] = $strAirlineName = $DepData['Airline']['AirlineName'];
$arrInsertFlightData[$key]['origin']['AirlineCode'] = $AirlineCode = $DepData['Airline']['AirlineCode'];
$arrInsertFlightData[$key]['origin']['FareClass'] = $AirlineCode = $DepData['Airline']['FareClass'];
$arrInsertFlightData[$key]['origin']['OrFlightNumber'] = $OrFlightNumber;
$arrInsertFlightData[$key]['origin']['SegFlightNumberArr'] = implode(', ', $SegFlightNumberArr);
$arrInsertFlightData[$key]['origin']['Currency'] = $Currency;
$arrInsertFlightData[$key]['origin']['ResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['origin']['IsLCC'] = $result['IsLCC'];
$arrInsertFlightData[$key]['origin']['IsGSTMandatory'] = $IsGSTMandatory;
$arrInsertFlightData[$key]['origin']['IsRefundable'] = $result['IsRefundable'];
$arrInsertFlightData[$key]['origin']['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['origin']['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['origin']['DepatureDate'] = date('d M Y', strtotime($strDepatureDate));
$arrInsertFlightData[$key]['origin']['DepartureDateTxt'] = date('D, d M', strtotime($strDepatureDate));
$arrInsertFlightData[$key]['origin']['DepartureTime'] = $OrDepTime;
$arrInsertFlightData[$key]['origin']['ArrivalTime'] = $OrArrTime;
$arrInsertFlightData[$key]['origin']['SourceAirportCode'] = $DepOrigin['Airport']['AirportCode'];
$arrInsertFlightData[$key]['origin']['SourceCityName'] = $DepOrigin['Airport']['CityName'];
$arrInsertFlightData[$key]['origin']['DestAirportCode'] = $DepDestination['Airport']['AirportCode'];
$arrInsertFlightData[$key]['origin']['DestCityName'] = $DepDestination['Airport']['CityName'];
$arrInsertFlightData[$key]['origin']['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localFromDateTime'])) : '';
$arrInsertFlightData[$key]['origin']['FromUTCTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? $arrCommonInsVariables['localFromDateTime'] : '';
$arrInsertFlightData[$key]['origin']['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localToDateTime'])) : '';
$arrInsertFlightData[$key]['origin']['ToUTCTime'] = isset($arrCommonInsVariables['localToDateTime']) ? $arrCommonInsVariables['localToDateTime'] : '';
$arrInsertFlightData[$key]['origin']['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['origin']['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['origin']['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['origin']['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['origin']['StopCount'] = $OrStopCountTxt;
$arrInsertFlightData[$key]['origin']['NoOfSeatAvailable'] = $DepData['NoOfSeatAvailable'];
$arrInsertFlightData[$key]['origin']['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['origin']['FlyingMinutes'] = $OriFlyingMinutes;
$arrInsertFlightData[$key]['origin']['FlightDuration'] = $OriFlightDuration;
$arrInsertFlightData[$key]['origin']['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['origin']['TripType'] = $intTripType;
$arrInsertFlightData[$key]['origin']['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['origin']['logo'] = $OrifilePath;
$airlineSysId = !empty($arrAirlineList[$ArrData['Airline']['AirlineCode']]) ? $arrAirlineList[$ArrData['Airline']['AirlineCode']] : '0';
$arrInsertFlightData[$key]['destination']['FlightNumber'] = $ArrData['Airline']['FlightNumber'];
$arrInsertFlightData[$key]['destination']['AirlineName'] = $ArrData['Airline']['AirlineName'];
$arrInsertFlightData[$key]['destination']['SegFlightNumberArr'] = implode(', ', $DestSegFlightNumberArr);
$arrInsertFlightData[$key]['destination']['DeFlightNumber'] = $DeFlightNumber;
$arrInsertFlightData[$key]['destination']['Currency'] = $Currency;
$arrInsertFlightData[$key]['destination']['ResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['destination']['IsLCC'] = $result['IsLCC'];
$arrInsertFlightData[$key]['destination']['IsGSTMandatory'] = $IsGSTMandatory;
$arrInsertFlightData[$key]['destination']['IsRefundable'] = $result['IsRefundable'];
$arrInsertFlightData[$key]['destination']['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['destination']['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['destination']['ReturnDate'] = date('d M Y', strtotime($strReturnDate));
$arrInsertFlightData[$key]['destination']['DepartureDateTxt'] = date('D, d M', strtotime($strReturnDate));
$arrInsertFlightData[$key]['destination']['DepartureTime'] = $DeDepTime;
$arrInsertFlightData[$key]['destination']['ArrivalTime'] = $DeArrTime;
$arrInsertFlightData[$key]['destination']['SourceAirportCode'] = $ArrOrigin['Airport']['AirportCode'];
$arrInsertFlightData[$key]['destination']['SourceCityName'] = $ArrOrigin['Airport']['CityName'];
$arrInsertFlightData[$key]['destination']['DestAirportCode'] = $ArrDestination['Airport']['AirportCode'];
$arrInsertFlightData[$key]['destination']['DestCityName'] = $ArrDestination['Airport']['CityName'];
$arrInsertFlightData[$key]['destination']['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['destination']['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['destination']['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['destination']['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['destination']['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localFromDateTime'])) : '';
$arrInsertFlightData[$key]['destination']['FromUTCTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? $arrCommonInsVariables['localFromDateTime'] : '';
$arrInsertFlightData[$key]['destination']['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localToDateTime'])) : '';
$arrInsertFlightData[$key]['destination']['ToUTCTime'] = isset($arrCommonInsVariables['localToDateTime']) ? $arrCommonInsVariables['localToDateTime'] : '';
$arrInsertFlightData[$key]['destination']['StopCount'] = $DeStopCountTxt;
$arrInsertFlightData[$key]['destination']['NoOfSeatAvailable'] = $ArrData['NoOfSeatAvailable'];
$arrInsertFlightData[$key]['destination']['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['destination']['FlyingMinutes'] = $DeFlyingMinutes;
$arrInsertFlightData[$key]['destination']['FlightDuration'] = $DesFlightDuration;
$arrInsertFlightData[$key]['destination']['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['destination']['TripType'] = $intTripType;
$arrInsertFlightData[$key]['destination']['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['destination']['logo'] = $DesfilePath;
$arrInsertFlightData[$key]['FlightNumber'] = $DepData['Airline']['AirlineCode'] . '-' . $DepData['Airline']['FlightNumber'];
$arrInsertFlightData[$key]['AirlineCode'] = $DepData['Airline']['AirlineCode'];
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $arrCommonInsVariables['intSourceCityId'];
$arrInsertFlightData[$key]['DestPlaceSysId'] = $arrCommonInsVariables['intDestinationCityId'];
$arrInsertFlightData[$key]['SourceAirportCode'] = $arrCommonInsVariables['strSourceAirportCode'];
$arrInsertFlightData[$key]['DestAirportCode'] = $arrCommonInsVariables['strDestinationAirportCode'];
$arrInsertFlightData[$key]['SourcePlaceName'] = $sourceCityText[0];
$arrInsertFlightData[$key]['DestPlaceName'] = $destinationCityText[0];
$arrInsertFlightData[$key]['PublishedFare'] = $intPublishedFare; // As Discussed with GG LocalFromTime
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($intPublishedFare);
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['IsTJFlightAPI'] = !empty($this->IsTJFlightAPI) ? $this->IsTJFlightAPI : 0;
$arrInsertFlightData[$key]['strFlightRoute'] = $strFlightRoute;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['IsLCC'] = $result['IsLCC'];
$arrInsertFlightData[$key]['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localFromDateTime'])) : '';
$arrInsertFlightData[$key]['FromUTCTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? $arrCommonInsVariables['localFromDateTime'] : '';
$arrInsertFlightData[$key]['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? str_replace('T', ' ', ($arrCommonInsVariables['localToDateTime'])) : '';
$arrInsertFlightData[$key]['ToUTCTime'] = isset($arrCommonInsVariables['localToDateTime']) ? $arrCommonInsVariables['localToDateTime'] : '';
$arrInsertFlightData[$key]['IsGSTMandatory'] = $IsGSTMandatory;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['FlightClass'] = $cabinClass;
$arrInsertFlightData[$key]['FairRules'] = $arrFairRules;
$arrInsertFlightData[$key]['Stops'] = $OriginStopCount;
$arrInsertFlightData[$key]['StopCount'] = $OrStopCountTxt;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['IsRefundable'] = $Refundable;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['FlyingMinutes'] = ($OriFlyingMinutes + $DeFlyingMinutes);
$arrInsertFlightData[$key]['DepartureTime'] = $OrDepTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $OrArrTime;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['IsNewMigration'] = 1;
$arrInsertFlightData[$key]['TripType'] = 2;
$arrInsertFlightData[$key]['JourneyType'] = 2;
$arrInsertFlightData[$key]['ICSourceSysId'] = 3;
$arrInsertFlightData[$key]['supplier'] = 'Supplier 2';
$arrInsertFlightData[$key]['arrCommonInsVariables'] = $arrCommonInsVariables;
$FilterDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->getRangeByValue(unserialize(CONST_DEPARTURETIME), $OrDepTime);
$arrInsertFlightData[$key]['FilterDepartureDtTime'] = $FilterDepartureDtTime;
if ($arrFairRules) {
foreach ($arrFairRules as $Fare) {
$dddddddd[] = $Fare['PublishedFare'];
}
}
$AttPriceRange[] = $PublishedFare;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$FiltStopCount[] = $OrStopCountTxt;
$DesFiltStopCount[] = $DeStopCountTxt;
$FiltSupplier[] = 'Supplier 2';
}
sort($dddddddd);
$FiltPriceRangeU = (array_unique($FiltPriceRange));
$ArrPriceUnique = array_filter(array_values($FiltPriceRangeU));
$arrAirlineName = array_unique($arrAirlineName);
$FiltStopCount = array_unique($FiltStopCount);
$AttPriceRange = array_unique($AttPriceRange);
//echo "<pre>"; print_r($arrInsertFlightData); exit;
$data = array('outbound' => $arrInsertFlightData, 'dddddddd' => $dddddddd, 'arrAirlineName' => $arrAirlineName, 'FiltStopCount' => $FiltStopCount, 'ArrPriceUnique' => $ArrPriceUnique, 'AttPriceRange' => $AttPriceRange, 'FiltSupplier' => $FiltSupplier);
return $data;
} else {
return false;
}
}
public function getflightlogo($strAirlineCodeLogo)
{
$filePath = $_SERVER['DOCUMENT_ROOT'] . "/public/upload/AirlineLogo/";
if (file_exists($filePath . $strAirlineCodeLogo . ".gif")) {
$strAirlineLogo = $strAirlineCodeLogo . ".gif";
$filePath = $this->baseUrl . "/public/upload/AirlineLogo/" . $strAirlineLogo;
} elseif (file_exists($filePath . $strAirlineCodeLogo . ".png")) {
$strAirlineLogo = $strAirlineCodeLogo . ".png";
$filePath = $this->baseUrl . "/public/upload/AirlineLogo/" . $strAirlineLogo;
} elseif (file_exists($filePath . $strAirlineCodeLogo . ".jpg")) {
$strAirlineLogo = $strAirlineCodeLogo . ".jpg";
$filePath = $this->baseUrl . "/public/upload/AirlineLogo/" . $strAirlineLogo;
} elseif (file_exists($filePath . $strAirlineCodeLogo . ".jpeg")) {
$strAirlineLogo = $strAirlineCodeLogo . ".jpeg";
$filePath = $this->baseUrl . "/public/upload/AirlineLogo/" . $strAirlineLogo;
} else {
$filePath = $this->baseUrl . "/public/upload/AirlineLogo/noimage.png";
}
return $filePath;
}
public function getMarkup($intCountryCode, $AgencySysId)
{
$this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$AgencySysId = $AgencySysId;
$strCountryCode = $intCountryCode;
$PlanType = 1;
if (!empty(trim($strCountryCode)) && trim($strCountryCode) != "IN") {
$intAirType = 2;
} else {
$intAirType = 1;
}
$objFlight = new Travel_Model_TblFlight();
$objHotel = new Travel_Model_TblBuyHotel();
$objMarkup = new Markup_Model_Markup();
$arrGTXMarkups = $objFlight->getGTXMarkups($intAirType, $AgencySysId);
$arrAgencyMarkups = $objFlight->getAgencyMarkups($intAirType, $AgencySysId);
$arrAgencyMarkupsHotel = $objHotel->getAgencyMarkups($intAirType, $AgencySysId);
$whereCharge = array("AgencySysId" => $AgencySysId, "ItemSourceType" => (int) $intAirType);
$arrAgencyMarkupsCancellation = $objMarkup->getCancellationChargeDetail('TB_Agency_Cancellation_Charges', $whereCharge);
$arrAgencyUserDetail = $objMarkup->getAgencyUserDetail(array("AgencySysId" => $AgencySysId, "ItemSourceType" => (int) $intAirType, "PlanType" => $PlanType));
$arrApiServiceTax = $objHotel->getApiServiceTax(0);
try {
if ($arrGTXMarkups || $arrAgencyMarkups) {
$status = array("status" => true, "arrGTXMarkups" => $arrGTXMarkups, "arrAgencyMarkups" => $arrAgencyMarkups, 'arrApiServiceTax' => $arrApiServiceTax, 'arrAgencyMarkupsHotel' => $arrAgencyMarkupsHotel, 'arrAgencyMarkupsCancellation' => $arrAgencyMarkupsCancellation, 'arrAgencyUserDetail' => $arrAgencyUserDetail, "message" => 'Successfully.');
return $status;
}
} catch (Exception $error) {
$status = array("status" => false, "arrGTXMarkups" => [], "arrAgencyMarkups" => [], 'arrApiServiceTax' => [], 'arrAgencyMarkupsHotel' => [], "message" => $error->getMessage());
return $status;
}
}
// public function getMarkup($intCountryCode, $AgencySysId)
// {
// $this->view->layout()->disableLayout();
// $this->_helper->viewRenderer->setNoRender(true);
// $AgencySysId = $AgencySysId;
// $strCountryCode = $intCountryCode;
// $PlanType = 1;
// if (!empty(trim($strCountryCode)) && trim($strCountryCode) != "IN") {
// $intAirType = 2;
// } else {
// $intAirType = 1;
// }
// $objFlight = new Travel_Model_TblFlight();
// $objHotel = new Travel_Model_TblBuyHotel();
// $objMarkup = new Markup_Model_Markup();
// $arrGTXMarkups = $objFlight->getGTXMarkups($intAirType, $AgencySysId);
// $arrAgencyMarkups = $objFlight->getAgencyMarkups($intAirType, $AgencySysId);
// $arrAgencyMarkupsHotel = $objHotel->getAgencyMarkups($intAirType, $AgencySysId);
// $whereCharge = array("AgencySysId" => $AgencySysId, "ItemSourceType" => (int) $intAirType);
// $arrAgencyMarkupsCancellation = $objMarkup->getCancellationChargeDetail('TB_Agency_Cancellation_Charges', $whereCharge);
// $arrAgencyUserDetail = $objMarkup->getAgencyUserDetail(array("AgencySysId" => $AgencySysId, "ItemSourceType" => (int) $intAirType, "PlanType" => $PlanType));
// $arrApiServiceTax = $objHotel->getApiServiceTax(0);
// try {
// if ($arrGTXMarkups || $arrAgencyMarkups) {
// $status = array("status" => true, "arrGTXMarkups" => $arrGTXMarkups, "arrAgencyMarkups" => $arrAgencyMarkups, 'arrApiServiceTax' => $arrApiServiceTax, 'arrAgencyMarkupsHotel' => $arrAgencyMarkupsHotel, 'arrAgencyMarkupsCancellation' => $arrAgencyMarkupsCancellation, 'arrAgencyUserDetail' => $arrAgencyUserDetail, "message" => 'Successfully.');
// return $status;
// }
// } catch (Exception $error) {
// $status = array("status" => false, "arrGTXMarkups" => [], "arrAgencyMarkups" => [], 'arrApiServiceTax' => [], 'arrAgencyMarkupsHotel' => [], "message" => $error->getMessage());
// return $status;
// }
// }
public function getCancelCharge($intCountryCode, $AgencySysId)
{
if ($intCountryCode) {
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$intMarkUp = 0;
if ($getMarkup['status'] == 1) {
if ($getMarkup['arrAgencyMarkupsCancellation']) {
foreach ($getMarkup['arrAgencyMarkupsCancellation'] as $value) {
if ($value['SupplierType'] == 2 && $value['ServiceType'] == 1 && $value['MPType'] == 1 && $value['MPType'] == 1) {
$intGTXMarkUpType = $value['MarkUpType'];
$MarkUp = $value['MarkUp'];
$intGTXMarkUpType = $value['MarkUpType'];
if ($intGTXMarkUpType == 1) { // For Flat
$intMarkUp += $MarkUp;
} else { // For Percentage
$intMarkUp += $MarkUp; //($intOfferedFare * $MarkUp) / 100;
}
}
}
}
}
return $intMarkUp;
} else {
$data = array('status' => false, 'message' => 'Invalid request');
return ($data);
}
}
public function getflightfarequoteAction()
{
$getData = $this->getRequest()->getParams();
$FlightBookingData = json_decode(base64_decode($getData['intOutBoundId']), true);
$sessionFlightSearchParams = json_decode($getData['sessionFlightSearchParams'], true);
$AirInvenSysIdArr = ($getData['AirInvenSysIdArr']);
$IsSeriesFareData = isset($FlightBookingData[0]['IsSeriesFareData']) ? $FlightBookingData[0]['IsSeriesFareData'] : 0;
$IsTJFlightAPI = isset($FlightBookingData[0]['IsTJFlightAPI']) ? $FlightBookingData[0]['IsTJFlightAPI'] : 0;
$route = $sessionFlightSearchParams['route'];
$interNationalSearch = $sessionFlightSearchParams['interNationalSearch'];
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$SearchTraceId = $sessionFlightSearchParams['SearchTraceId'];
$ICSourceSysId = $FlightBookingData[0]['ICSourceSysId'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
// echo '<pre>';
// print_r($FlightBookingData);
// echo '</pre>';
// die;
Zend_Session::namespaceUnset('FlightSeatSession');
Zend_Session::namespaceUnset('selectedSeatSession');
$leadId = $sessionFlightSearchParams['editLeadId'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId,'query');
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
//$AirInvenSysIdArr = $getData['AirInvenSysIdArr'];
$apiResponseInbound = [];
$getQ = array(
'TraceId' => $getData['apiTraceId'],
'SearchTraceId' => $SearchTraceId,
'BookingData' => $FlightBookingData[0],
'Inbound' => false,
);
if($route == '3'){
$PriceIDMulti = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $value) {
$PriceIDMulti[] = $value['FairRules']['PriceID'];
}
}
$getQ['TraceId'] = implode(',',$PriceIDMulti);
}
$FareRulesCancel = [];
$intMarkUp = $this->getCancelCharge($intCountryCode, $AgencySysId);
if (isset($IsSeriesFareData) && $IsSeriesFareData == 1) {
$apiResponse = array('status' => array('success' => 1), 'bookingId' => $FlightBookingData[0]['bookingId']);
} elseif ($IsTJFlightAPI == '1' && $ICSourceSysId == 7 && $bookingAllowed == 1) {
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->GetApiFlightsFareQuoteTripJack($getQ, $AgencySysId);
$bookingId = $apiResponse['bookingId'];
$EXPTraceId = explode(',', $getData['apiTraceId']);
$requestData = array(
'TraceId' => $bookingId,
'flowType' => 'REVIEW'
);
$apiResponsefr = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->GetApiFlightsFareRulesTripJack($requestData, $AgencySysId);
$FareRules = isset($apiResponsefr['fareRule']) ? $apiResponsefr['fareRule'] : [];
$success = $apiResponsefr['status']['success'];
if ($success && $FareRules) {
foreach ($FareRules as $key => $val) {
$CANCELLATION = isset($val['tfr']['CANCELLATION']) ? $val['tfr']['CANCELLATION'] : '';
$DATECHANGE = isset($val['tfr']['DATECHANGE']) ? $val['tfr']['DATECHANGE'] : '';
$NO_SHOW = isset($val['tfr']['NO_SHOW']) ? $val['tfr']['NO_SHOW'] : '';
$SEAT_CHARGEABLE = isset($val['tfr']['SEAT_CHARGEABLE']) ? $val['tfr']['SEAT_CHARGEABLE'] : '';
$cancel = [];
if($CANCELLATION){
foreach($CANCELLATION as $keys=>$cl){
$policyInfo_ = isset($cl['policyInfo']) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Airline Cancellation Charges + Taxes + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$cancel[$keys] = $cl;
$cancel[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$cancel[$keys]['amount'] = $amount;
$cancel[$keys]['sector'] = $key;
$cancel[$keys]['policyInfo'] = $policyInfo_;
$cancel[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$cancel[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$cancel[0]['sector'] = $key;
$cancel[0]['TimeFrame'] = 'As Per Airline';
$cancel[0]['policyInfo'] = ['As Per Airline'];
}
$datechange = [];
if($DATECHANGE){
foreach($DATECHANGE as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Difference in Fare + Taxes + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$datechange[$keys] = $cl;
$datechange[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$datechange[$keys]['amount'] = $amount;
$datechange[$keys]['sector'] = $key;
$datechange[$keys]['policyInfo'] = $policyInfo_;
$datechange[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$datechange[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$datechange[0]['sector'] = $key;
$datechange[0]['TimeFrame'] = 'As Per Airline';
$datechange[0]['policyInfo'] = ['As Per Airline'];
}
$noshow = [];
if($NO_SHOW){
foreach($NO_SHOW as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Fees As Per Airline Rule + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$noshow[$keys] = $cl;
$noshow[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$noshow[$keys]['amount'] = $amount;
$noshow[$keys]['sector'] = $key;
$noshow[$keys]['policyInfo'] = $policyInfo_;
$noshow[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$noshow[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$noshow[0]['sector'] = $key;
$noshow[0]['TimeFrame'] = 'As Per Airline';
$noshow[0]['policyInfo'] = ['As Per Airline'];
}
$seatchange = [];
if($SEAT_CHARGEABLE){
foreach($SEAT_CHARGEABLE as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['As per Airlines'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$seatchange[$keys] = $cl;
$seatchange[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$seatchange[$keys]['amount'] = $amount;
$seatchange[$keys]['sector'] = $key;
$seatchange[$keys]['policyInfo'] = $policyInfo_;
$seatchange[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$seatchange[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$seatchange[0]['sector'] = $key;
$seatchange[0]['TimeFrame'] = 'As Per Airline';
$seatchange[0]['policyInfo'] = ['Fees As Per Airline Rule + Surcharges'];
}
$FareRulesCancel['CANCELLATION'] = $cancel;
$FareRulesCancel['DATECHANGE'] = $datechange;
$FareRulesCancel['NO_SHOW'] = $noshow;
$FareRulesCancel['SEAT_CHARGEABLE'] = $seatchange;
}
}
$FareRuleRequest[0] = $apiResponsefr;
} else {
$apiResponse = array('status' => array('success' => 1), 'bookingId' => '');
}
$ResponseStatus = isset($apiResponse['status']['success']) ? $apiResponse['status']['success'] : 0;
$ErrorMessage = isset($apiResponse['errors'][0]['message']) ? $apiResponse['errors'][0]['message'] : '';
$ErrorMessageInb = isset($apiResponseInbound['errors'][0]['message']) ? $apiResponseInbound['errors'][0]['message'] : '';
$ResponseStatusInb = isset($apiResponseInbound['status']['success']) ? $apiResponseInbound['status']['success'] : 0;
if ($ResponseStatus == 1 && ($ICSourceSysId == 7 || $ICSourceSysId == 8 || $ICSourceSysId == 9)) {
$alerts = isset($apiResponse['alerts']) ? $apiResponse['alerts'] : '';
if ($IsSeriesFareData == 0 && $bookingAllowed == 1) {
$FlightBookingData = $this->UpdateFlightBookingData($apiResponse, $alerts, $SearchTraceId, $sessionFlightSearchParams, $FlightBookingData, $FareRulesCancel);
}
$newFare = 0;
$oldFare = 0;
$PublishedFare = 0;
$intPublishedFare = 0;
$Baggage = [];
$Meal = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $value) {
$newFare += $value['FairRules']['newFare'];
$PublishedFare += $value['FairRules']['newFare'];
$intPublishedFare += $value['FairRules']['PublishedFare'];
$oldFare += $value['FairRules']['oldFare'];
if ($value['Segments']) {
foreach ($value['Segments'] as $keys => $Segments) {
$Baggage[] = $Segments['BAGGAGEARRAY'];
$Meal[] = $Segments['MEALARRAY'];
}
}
}
}
$SSRArr = array('Meal' => $Meal, 'Baggage' => $Baggage, 'SeatPreference' => array());
// $flightSSRDetails = new Zend_Session_Namespace('flightSSRDetails');
// $flightSSRDetails->params = $SSRArr;
$FareChange = false;
if ($newFare != $oldFare) {
$FareChange = true;
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('Data' => $FlightBookingData, 'sessionFlightSearchParams' => $sessionFlightSearchParams, 'CurrencyTitle' => $this->CurrencyTitle, 'CurrencyRate' => $this->CurrencyRate));
$bodyText = $html->render('getflightfarequote.phtml');
$response = array('success' => true, 'message' => 'Done', 'FareChange' => $FareChange, 'html' => $bodyText, 'intPublishedFare' => $this->CurrencyTitle . ' ' . number_format(($intPublishedFare)), 'SSRArr' => json_encode($SSRArr), 'SSRArrInb' => [], 'apiResponse' => json_encode($FlightBookingData));
echo json_encode($response);
exit;
} elseif ($ICSourceSysId == 3) {
// echo '<pre>';
// print_r($FlightBookingData);
// echo '</pre>';
// die('end');
$FlightBookingDataArr = [];
$FlightBooking = [];
$oldFare = 0;
$newFare = 0;
$intPublishedFare = 0;
if ($FlightBookingData && $IsSeriesFareData == 0 && $bookingAllowed == 1) {
foreach ($FlightBookingData as $key => $vl) {
$IsLCC = $vl['IsLCC'];
$strAirlineCode = $vl['AirlineCode'];
$FlightBookingDataArr[$key] = $vl;
$oldFare += isset($vl['FairRules']['intPublishedFare']) ? $vl['FairRules']['intPublishedFare'] : 0;
$IsTJFlightAPI = isset($vl['IsTJFlightAPI']) ? $vl['IsTJFlightAPI'] : '0';
if ($ICSourceSysId == 3) {
$arrData['SearchTraceId'] = $SearchTraceId;
$arrData['BookingData'] = $vl;
$arrData['TraceId'] = $vl['apiTraceId'];
$arrData['ResultIndex'] = $vl['FairRules']['ApiResultIndex'];
if($interNationalSearch == 1 && $route == 2){
$arrData['ResultIndex'] = $vl['ApiResultIndex'];
}
// echo '<pre>';
// print_r($arrData);
// echo '</pre>';
// die('end');
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->fareQuoteDetails($arrData, $AgencySysId);
$arrSSR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->flightSSRDetails($arrData, $AgencySysId);
$FBD = $this->UpdateFlightBookingDataTBO($apiResponse, $arrSSR, $vl, $sessionFlightSearchParams, $AgencySysId);
$newFare += isset($FBD['BookingData']['FairRules']['intPublishedFare']) ? $FBD['BookingData']['FairRules']['intPublishedFare'] : 0;
$intPublishedFare += isset($FBD['BookingData']['FairRules']['PublishedFare']) ? $FBD['BookingData']['FairRules']['PublishedFare'] : 0;
$SSRArr = isset($FBD['SSRArr']) ? $FBD['SSRArr'] : [];
$tripSeatMap = isset($FBD['tripSeatMap']) ? $FBD['tripSeatMap'] : [];
$FlightBooking[$key] = $FBD['BookingData'];
}
}
} else {
$FlightBooking = $FlightBookingData;
}
// echo '<pre>';
// print_r($SSRArr);
// // die('ddd');
// die('ddd');
$FareChange = false;
if ($newFare != $oldFare) {
$FareChange = true;
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('Data' => $FlightBooking, 'CurrencyTitle' => $this->CurrencyTitle, 'CurrencyRate' => $this->CurrencyRate));
$bodyText = $html->render('getflightfarequote.phtml');
$response = array('success' => true, 'message' => 'Done', 'FareChange' => $FareChange, 'html' => $bodyText, 'intPublishedFare' => number_format(($intPublishedFare)), 'tripSeatMap' => json_encode($tripSeatMap), 'SSRArr' => json_encode($SSRArr), 'SSRArrInb' => [], 'apiResponse' => json_encode($FlightBooking));
echo json_encode($response);
exit;
} elseif ($route == 2 && $ResponseStatus == 1 && $interNationalSearch == 1) {
} else {
$response = array('success' => false, 'message' => 'Session is expired. Please try again with new session', 'FareChange' => false, 'html' => '');
echo json_encode($response);
exit;
}
echo '<pre>';
print_r($apiResponse);
die('ddd');
$SSRArrInb = array();
// $str = file_get_contents($this->baseUrl.'public/logs/flight/flightSSR/flightSSR_response.json');
// $arrSSR = json_decode($str,true);
} else {
die('Page not found!');
}
}
public function UpdateFlightBookingDataTBO($apiResponse, $arrSSR, $vl, $sessionFlightSearchParams, $AgencySysId)
{
$ExtraMarkup = $vl['FairRules']['ExtraMarkup'];
$ExtraMarkupOnGST = $vl['FairRules']['ExtraMarkupOnGST'];
$DiscountValue = $vl['FairRules']['DiscountValue'];
$TotalExtraMarkUp = ($ExtraMarkup + $ExtraMarkupOnGST);
// echo '<pre>';
// print_r($ExtraMarkup);
// echo '<pre>';
// print_r($ExtraMarkupOnGST);
// echo '<pre>';
// print_r($vl['FairRules']);
// die;
$IsLCC = $vl['IsLCC'];
$strAirlineCode = $vl['AirlineCode'];
$FlightNumber = explode('-', $vl['FlightNumber']);
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = !empty($sessionFlightSearchParams['return_dates']) ? $sessionFlightSearchParams['return_dates'] : '';
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$intTatalPaxCT = $adultCount + $childCount;
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$intMarkUp = $getCancelCharge = $this->getCancelCharge($intCountryCode, $AgencySysId);
$tripSeatMapArr = [];
$BaggageAr = [];
$Meal = [];
// echo '<pre>';
// print_r($getMarkup);
// die('ddd');
if ($IsLCC) {
$Baggage = isset($arrSSR['Response']['Baggage']) ? $arrSSR['Response']['Baggage'] : [];
$MealDynamic = isset($arrSSR['Response']['MealDynamic']) ? $arrSSR['Response']['MealDynamic'] : [];
$SeatDynamic = isset($arrSSR['Response']['SeatDynamic']) ? $arrSSR['Response']['SeatDynamic'] : [];
if ($Baggage) {
foreach ($Baggage as $b => $bgg) {
//$Baggage[] = $bgg;
if ($bgg) {
foreach ($bgg as $bg) {
$BaggageAr[$b][] = array(
'AirlineCode' => $bg['AirlineCode'],
'FlightNumber' => $bg['FlightNumber'],
'key' => $bg['FlightNumber'],
'WayType' => $bg['WayType'],
'Code' => $bg['Code'],
'Description' => $bg['Description'],
'Weight' => $bg['Weight'],
'Currency' => $bg['Currency'],
'Price' => $bg['Price'],
'Origin' => $bg['Origin'],
'Destination' => $bg['Destination'],
);
}
}
}
}
if ($MealDynamic) {
foreach ($MealDynamic as $b => $mell) {
if ($mell) {
foreach ($mell as $ml) {
$Meal[$b][] = array(
'AirlineCode' => $ml['AirlineCode'],
'FlightNumber' => $ml['FlightNumber'],
'key' => $ml['FlightNumber'],
'WayType' => $ml['WayType'],
'Code' => $ml['Code'],
'Description' => $ml['Description'],
'AirlineDescription' => $ml['AirlineDescription'],
'Quantity' => $ml['Quantity'],
'Currency' => $ml['Currency'],
'Price' => $ml['Price'],
'Origin' => $ml['Origin'],
'Destination' => $ml['Destination'],
);
}
}
}
}
if ($SeatDynamic) {
foreach ($SeatDynamic as $stSeg) {
$SegmentSeat = $stSeg['SegmentSeat'];
if ($SegmentSeat) {
foreach ($SegmentSeat as $STKEY => $SG) {
$RowSeats = $SG['RowSeats'];
$sInfo = [];
$R = 1;
$segmentid = isset($vl['Segments'][$STKEY]['segmentid']) ? $vl['Segments'][$STKEY]['segmentid'] : 0;
// echo '<pre>';
// print_r($segmentid);
if ($RowSeats) {
foreach ($RowSeats as $RK => $RS) {
$Seats = $RS['Seats'];
$C = 1;
if ($Seats) {
foreach ($Seats as $SK => $ST) {
$sInfo[] = array(
'AirlineCode' => $ST['AirlineCode'],
'FlightNumber' => $ST['FlightNumber'],
'CraftType' => $ST['CraftType'],
'Origin' => $ST['Origin'],
'Destination' => $ST['Destination'],
'AvailablityType' => $ST['AvailablityType'],
'isBooked' => ($ST['AvailablityType'] == 3) ? true : false,
'Description' => $ST['Description'],
'Code' => $ST['Code'],
'code' => $ST['Code'],
'RowNo' => $ST['RowNo'],
'SeatNo' => $ST['SeatNo'],
'seatNo' => ($ST['Code'] == 'NoSeat') ? '' : $ST['Code'],
'SeatType' => $ST['SeatType'],
'SeatWayType' => $ST['SeatWayType'],
'Compartment' => $ST['Compartment'],
'Deck' => $ST['Deck'],
'Currency' => $ST['Currency'],
'Price' => $ST['Price'],
'amount' => $ST['Price'],
'Text' => $ST['Text'],
'seatPosition' => ['row' => $R, 'column' => $C],
);
$C++;
}
}
$R++;
}
}
$tripSeatMapArr[$segmentid]['sData'] = array('row' => count($RowSeats), 'column' => 7);
$tripSeatMapArr[$segmentid]['sInfo'] = $sInfo;
}
}
}
}
} else {
$MealDynamic = isset($arrSSR['Response']['Meal']) ? $arrSSR['Response']['Meal'] : [];
if ($MealDynamic) {
foreach ($MealDynamic as $k => $ml) {
$Meal[] = array(
'Code' => $ml['Code'],
'Description' => $ml['Description'],
'AirlineDescription' => $ml['Description'],
'Currency' => $this->CurrencyTitle,
'amount' => 0,
'Price' => 0,
'key' => $FlightNumber[1],
);
}
}
}
$ResponseStatus = $apiResponse['Response']['ResponseStatus'];
$ErrorMessage = $apiResponse['Response']['Error']['ErrorMessage'];
$result = $apiResponse['Response']['Results'];
$SegmentsArrary = $result['Segments'];
// echo '<pre>';
// print_r($apiResponse);
if ($ResponseStatus == 1) {
$Currency = $result['Fare']['Currency'];
$currencySysId = $this->CurrencyId;
$BaseFare = $result['Fare']['BaseFare'];
$Tax = $result['Fare']['Tax'];
$ResultIndex = $result['ResultIndex'];
$flight_class = trim($sessionFlightSearchParams['flight_class']);
$preferredFlightClassType = ($flight_class == 1) ? 2 : $flight_class;
$arrFlightClass = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->getFlightClasses();
$cabinClass = isset($arrFlightClass[$preferredFlightClassType]) ? $arrFlightClass[$preferredFlightClassType] : 'Economy';
$MiniFareRules = (isset($result['MiniFareRules']) && !empty($result['MiniFareRules'])) ? $result['MiniFareRules'] : [];
$MiniFR = [];
if ($MiniFareRules) {
foreach ($MiniFareRules as $Minivalue) {
if ($Minivalue) {
foreach ($Minivalue as $kk => $Mini) {
$Type = !empty($Mini['Type']) ? strtoupper($Mini['Type']) : 'NA';
if (empty($Mini['To'])) {
$TimeFrame = 'from ' . $Mini['From'] . ' ' . $Mini['Unit'] . ' & above before dept';
} else {
$TimeFrame = 'from ' . $Mini['From'] . ' To ' . $Mini['To'] . ' ' . $Mini['Unit'] . ' before dept';
}
//$MiniFR[$Type][$kk] = $Mini;
$MiniFR[$Type][$kk]['sector'] = $Mini['JourneyPoints'];
$MiniFR[$Type][$kk]['amount'] = $Mini['Details'];
$MiniFR[$Type][$kk]['additionalFee'] = $getCancelCharge;
$MiniFR[$Type][$kk]['TimeFrame'] = $TimeFrame;
$MiniFR[$Type][$kk]['policyInfo'] = [];
}
}
}
}
$tripbinfo = [];
if ($result['Segments']) {
foreach ($result['Segments'] as $value) {
if ($value) {
foreach ($value as $kk => $vls) {
$Baggage = $vls['Baggage'];
$CabinBaggage = $vls['CabinBaggage'];
$SectorsCode = $vls['Origin']['Airport']['AirportCode'] . '-' . $vls['Destination']['Airport']['AirportCode'];
$tripbinfo[$SectorsCode]['ADULT'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
if (!empty($childCount)) {
$tripbinfo[$SectorsCode]['CHILD'] = ['cabin' => $CabinBaggage, 'checkin' => $Baggage];
}
if (!empty($infantCount)) {
$tripbinfo[$SectorsCode]['INFANT'] = ['cabin' => $CabinBaggage, 'checkin' => 'NA'];
}
}
}
}
}
$YQTax = $result['Fare']['YQTax'];
$AdditionalTxnFeeOfrd = $result['Fare']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['Fare']['AdditionalTxnFeePub'];
$OtherCharges = $result['Fare']['OtherCharges'];
$Discount = $result['Fare']['Discount'];
$PublishedFare = $result['Fare']['PublishedFare'];
$CommissionEarned = $result['Fare']['CommissionEarned'];
$PLBEarned = $result['Fare']['PLBEarned'];
$IncentiveEarned = $result['Fare']['IncentiveEarned'];
$OfferedFare = $result['Fare']['OfferedFare'];
$TdsOnCommission = $result['Fare']['TdsOnCommission'];
$TdsOnPLB = $result['Fare']['TdsOnPLB'];
$TdsOnIncentive = $result['Fare']['TdsOnIncentive'];
$ServiceFee = $result['Fare']['ServiceFee'];
//$ResultFareType = $result['ResultFareType'];
$ResultFareType = !empty($result['FareClassification']['Type']) ? $result['FareClassification']['Type'] : $result['ResultFareType'];
$FareBreakdown = $result['FareBreakdown'];
$totalCommissions = $result['Fare']['CommissionEarned'] + $result['Fare']['PLBEarned'] + $result['Fare']['IncentiveEarned'];
$totalCommissionsOnTds = $result['Fare']['TdsOnCommission'] + $result['Fare']['TdsOnIncentive'] + $result['Fare']['TdsOnPLB'];
$TotalPassengerCountForDiscount = $adultCount + $childCount;
$intDiscountPerHead = $totalCommissions / $TotalPassengerCountForDiscount;
//$intDiscountPerHead = $totalCommissions;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $totalCommissions,
'TdsOnPLB' => $totalCommissionsOnTds,
'MUFee' => $ServiceFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr,'Review');
//echo "<pre>"; print_r($arrMarkUps);echo "</pre>";
$intPublishedFare = $arrMarkUps['PublishFare'];
$countBreakUp = count($FareBreakdown);
foreach ($FareBreakdown as $pk => $pax) {
$intBaseFare = $pax['BaseFare'];
$intTax = $pax['Tax'];
$OtherCharges_ = ($OtherCharges / $countBreakUp);
$intDiscountPerHead_ = ($intDiscountPerHead / $countBreakUp);
$intBaseFareCal = $intBaseFare - $intDiscountPerHead_;
$intFareOfferedToPax = $intBaseFareCal + $intTax;
$intPassengerCount = isset($pax['PassengerCount']) ? $pax['PassengerCount'] : 0;
$arrFareBreakdown[$pk]['Currency'] = $pax['Currency'];
$arrFareBreakdown[$pk]['PassengerType'] = $pax['PassengerType'];
$arrFareBreakdown[$pk]['PassengerCount'] = $pax['PassengerCount'];
$arrFareBreakdown[$pk]['TaxIN'] = ($pax['Tax']);
$arrFareBreakdown[$pk]['TotalBaseFare'] = 0;
$arrFareBreakdown[$pk]['BaseFareCal'] = ($arrMarkUps['BaseFareCal'] / $countBreakUp);
$arrFareBreakdown[$pk]['BaseFare'] = ($intBaseFareCal);
$arrFareBreakdown[$pk]['CommissionEarned'] = ($totalCommissions / $countBreakUp);
$arrFareBreakdown[$pk]['OtherCharges'] = ($OtherCharges_);
$arrFareBreakdown[$pk]['TDS'] = ($totalCommissionsOnTds / $countBreakUp);
$arrFareBreakdown[$pk]['MF'] = 0;
$arrFareBreakdown[$pk]['YQ'] = $pax['YQTax'];
$arrFareBreakdown[$pk]['AGST'] = 0;
$arrFareBreakdown[$pk]['MFT'] = 0;
$arrFareBreakdown[$pk]['OT'] = $pax['Tax'];
$arrFareBreakdown[$pk]['MU'] = 0;
$arrFareBreakdown[$pk]['YR'] = 0;
$arrFareBreakdown[$pk]['intTotalGST'] = ($arrMarkUps['intTotalGST'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiMarkup'] = ($arrMarkUps['apiMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['IntCommission'] = ($arrMarkUps['IntCommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['apiTaxOnMarkup'] = ($arrMarkUps['apiTaxOnMarkup'] / $countBreakUp);
$arrFareBreakdown[$pk]['FixedMarkUp'] = ($arrMarkUps['IntAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTOnMarkUp'] = ($arrMarkUps['IntTaxOnAgencyFixMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['CommEarned'] = ($arrMarkUps['IntCommission'] / $countBreakUp);; //($arrMarkUps['intCommisionEarnedForAgency'] / $countBreakUp);
$arrFareBreakdown[$pk]['GSTonComm'] = 0;
$arrFareBreakdown[$pk]['intGTXMarkUp'] = ($arrMarkUps['intGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['GTXMarkUpGST'] = ($arrMarkUps['intSTaxOnGTXMarkUp'] / $countBreakUp);
$arrFareBreakdown[$pk]['Agencycommission'] = ($arrMarkUps['Agencycommission'] / $countBreakUp);
$arrFareBreakdown[$pk]['AdditionalTxnFeeOfrd'] = $pax['AdditionalTxnFeeOfrd'];
$arrFareBreakdown[$pk]['AdditionalTxnFeePub'] = $pax['AdditionalTxnFeePub'];
$arrFareBreakdown[$pk]['PGCharge'] = 0;
$arrFareBreakdown[$pk]['Baggage'] = ''; //Check In Baggage;
$arrFareBreakdown[$pk]['CabinBaggage'] = ''; //Cabin Baggage ;
}
$arrFairRules = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => 0,
"AirlineGSTComponent" => 0,
"CarrierMiscFee" => 0,
"MUFee" => 0,
"intPublishedFare" => $PublishedFare,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"PublishedFareAgent" => ($arrMarkUps['CostToAgentCustomer'] * $this->CurrencyRate),
"OfferedFareAgent" => ($arrMarkUps['CostToAgent'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"PriceID" => $ResultIndex,
"ApiResultIndex" => $ResultIndex,
"IsGSTRequired" => $IsGSTMandatory,
"fareIdentifier" => $ResultFareType,
"FareColor" => $FareColor,
"FareClass" => $cabinClass,
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'], //$arrMarkUps['intCommisionEarnedForAgency'],
"CommEarnedAgent" => $arrMarkUps['AgentB2CEarning'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"FareBreakdown" => $arrFareBreakdown,
"arrMarkUps" => $arrMarkUps,
"tripbinfo" => $tripbinfo,
"MiniFR" => $MiniFR,
);
// echo '<pre>';
// print_r($getCancelCharge);
// echo '<pre>';
// print_r($arrFairRules);
// die('ddd');
$vl['FairRules'] = $arrFairRules;
$IsPassportRequiredAtBook = isset($result['IsPassportRequiredAtBook']) ? $result['IsPassportRequiredAtBook'] : false;
$IsPassportRequiredAtTicket = isset($result['IsPassportRequiredAtTicket']) ? $result['IsPassportRequiredAtTicket'] : false;
if ($IsLCC) {
if ($IsPassportRequiredAtTicket || $interNationalSearch == 1) {
$IsPassMandatory = true;
$IsPassExpiry = true;
$IsPassIssue = false;
} else {
$IsPassMandatory = false;
$IsPassExpiry = false;
$IsPassIssue = false;
}
} else {
if ($IsPassportRequiredAtBook) {
$IsPassMandatory = true;
$IsPassExpiry = true;
$IsPassIssue = false;
} else {
$IsPassMandatory = false;
$IsPassExpiry = false;
$IsPassIssue = false;
}
}
$IsPassDateOfBirth = false;
$isGSTMandatory = isset($result['IsGSTMandatory']) ? $result['IsGSTMandatory'] : false;
$IsPanRequiredAtBook = isset($result['IsPanRequiredAtBook']) ? $result['IsPanRequiredAtBook'] : false;
$IsPanRequiredAtTicket = isset($result['IsPanRequiredAtTicket']) ? $result['IsPanRequiredAtTicket'] : false;
$isSeatApplicable = false;
$isSessionTime = false;
$isSessionTime = 0;
if ($interNationalSearch == 1) {
$isAdobrMandatory = true;
$isCdobrMandatory = true;
$isIdobrMandatory = true;
} else if ($strAirlineCode == 'I5') {
$isAdobrMandatory = true;
$isCdobrMandatory = true;
$isIdobrMandatory = true;
} else {
$isAdobrMandatory = false;
$isCdobrMandatory = true;
$isIdobrMandatory = true;
}
$vl['ICSourceSysId'] = 3;
$vl['Ispassengercity'] = true;
$vl['Ispassengeraddress'] = true;
$vl['isGSTMandatory'] = $isGSTMandatory;
$vl['IsPassMandatory'] = $IsPassMandatory;
$vl['IsPassExpiry'] = $IsPassExpiry;
$vl['IsPassIssue'] = $IsPassIssue;
$vl['IsPassDateOfBirth'] = $IsPassDateOfBirth;
$vl['isAdobrMandatory'] = $isAdobrMandatory;
$vl['isCdobrMandatory'] = $isCdobrMandatory;
$vl['isIdobrMandatory'] = $isIdobrMandatory;
$vl['isSeatApplicable'] = $isSeatApplicable;
$vl['IsPanRequiredAtTicket'] = $IsPanRequiredAtTicket;
$vl['IsPanRequiredAtBook'] = $IsPanRequiredAtBook;
$vl['isSessionTime'] = $isSessionTime . ':00';
$SegmentsArr = [];
if ($vl['Segments']) {
foreach ($vl['Segments'] as $kk => $segment) {
$BaggageArrNew = isset($Baggage[$kk]) ? $Baggage[$kk] : [];
if ($IsLCC) {
$MealArrNew = isset($MealDynamic[$kk]) ? $MealDynamic[$kk] : [];
} else {
$MealArrNew = isset($Meal) ? $Meal : [];
}
$SegmentsArr[$kk] = $segment;
$SegmentsArr[$kk]['BAGGAGEARRAY'] = $BaggageArrNew;
$SegmentsArr[$kk]['MEALARRAY'] = $MealArrNew;
}
}
$vl["Segments"] = $SegmentsArr;
if (!empty($tripSeatMapArr)) {
$tripSeatMap['tripSeatMap']['tripSeat'] = $tripSeatMapArr;
$tripSeatMap['status'] = ['success' => true, 'httpStatus' => 200];
} else {
$tripSeatMap['tripSeatMap']['tripSeat'] = [];
$tripSeatMap['status'] = ['success' => false, 'httpStatus' => 400];
}
if ($IsLCC) {
$SSRArr = array('Meal' => $Meal, 'Baggage' => $BaggageAr, 'SeatPreference' => array());
} else {
$Mealwwww[0] = $Meal;
$SSRArr = array('Meal' => $Mealwwww, 'Baggage' => $BaggageAr, 'SeatPreference' => array());
}
$response = array('success' => true, 'BookingData' => $vl, 'SSRArr' => $SSRArr, 'tripSeatMap' => $tripSeatMap, 'SeatDynamic' => ($SeatDynamic), 'SSRArrInb' => []);
// echo "<pre>";
// print_r($vl);
// echo "<pre>";
return $response;
} else {
$response = array('success' => false, 'message' => 'Session is expired. Please try again with new session', 'FareChange' => false, 'html' => '');
echo json_encode($response);
exit;
}
}
public function UpdateFlightBookingData($data, $alerts, $SearchTraceId, $sessionFlightSearchParams, $FlightBookingData, $FareRuleRequest)
{
error_reporting(1);
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
$apiResponse = $data;
$leadId = $sessionFlightSearchParams['editLeadId'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
//$FlightBookingData = new Zend_Session_Namespace('FlightBookingData');
$FlightSearchGuard = new Zend_Session_Namespace('FlightSearchGuard');
$CurrentFlightSearchGuard = new Zend_Session_Namespace('CurrentFlightSearchGuard');
$FlightSearchResults = new Zend_Session_Namespace('FlightSearchResults');
$intSourceCityId = ($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = ($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$departureDates = $sessionFlightSearchParams['departure_dates'];
$return_dates = $sessionFlightSearchParams['return_dates'];
$arrDepartureDates = explode("/", $departureDates);
$this->view->departureDates = $strDepatureDate = $arrDepartureDates[2] . "/" . $arrDepartureDates[1] . "/" . ($arrDepartureDates[0] - 1);
$arrreturn_dates = explode("/", $return_dates);
$this->view->departureDates = $strReturnDate = $arrreturn_dates[2] . "/" . $arrreturn_dates[1] . "/" . ($arrreturn_dates[0] - 1);
//$strDepatureDate = $sessionFlightSearchParams['strDepatureDate'];
//$strReturnDate = !empty($sessionFlightSearchParams['strReturnDate']) ? $sessionFlightSearchParams['strReturnDate'] : '';
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$intTatalPaxCT = $adultCount + $childCount;
//$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$intMarkUp = $this->getCancelCharge($intCountryCode, $AgencySysId);
$B2BType = (int) $sessionFlightSearchParams['B2BType'];
$CustomerSysId = $sessionFlightSearchParams['CustomerSysId'];
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$UserSysId = $sessionFlightSearchParams['UserSysId'];
$objAgency = new Travel_Model_TblAgency();
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$getMarkupB2B = $this->getMarkupB2B($intCountryCode, $CustomerSysId, $B2BType, $UserSysId, $arrAgencyDetails['SecurityKey'], $AgencySysId);
$getMarkup = $getMarkupB2B;
$MarketPlaceSysId = isset($getMarkup['arrAgencyMarkups'][0]['MarketPlaceSysId']) ? $getMarkup['arrAgencyMarkups'][0]['MarketPlaceSysId'] : 0;
$MasterId = isset($getMarkup['arrAgencyMarkups'][0]['MasterId']) ? $getMarkup['arrAgencyMarkups'][0]['MasterId'] : 0;
if(empty($MasterId) || $MasterId == 0){
$MarketPlaceSysId = $MarketPlaceSysId;
}else{
$MarketPlaceSysId = $MasterId;
}
// echo "<pre>";
// print_r($getMarkup);die;
$filterData = ['ApiSourceSysId' => 3];
$AdditionalMarkup = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getMarketPlace($MarketPlaceSysId,$filterData, $arrAgencyDetails['SecurityKey']);
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$localFromDateTime = date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = date("Y-m-d h:i", strtotime($strReturnDate));
$arrCommonInsVariables = array(
'strTraceId' => $strTraceId,
'localFromDateTime' => $localFromDateTime,
'localToDateTime' => $localToDateTime,
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 2, // For Round Trips API Search
'TripType' => $strFlightRoute,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
$strTraceId = $arrCommonInsVariables['strTraceId'];
$localFromDateTime = $arrCommonInsVariables['localFromDateTime'];
$localToDateTime = $arrCommonInsVariables['localToDateTime'];
$strSourceAirportCode = $arrCommonInsVariables['strSourceAirportCode'];
$strDestinationAirportCode = $arrCommonInsVariables['strDestinationAirportCode'];
$intMemberCount = $arrCommonInsVariables['intMemberCount'];
$intSourceCityId = $arrCommonInsVariables['intSourceCityId'];
$intDestinationCityId = $arrCommonInsVariables['intDestinationCityId'];
$intJourneyType = $arrCommonInsVariables['JourneyType'];
$intTripType = $arrCommonInsVariables['TripType'];
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '0';
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$BaggageArr = [];
$MealArr = [];
$bookingId = $data['bookingId'];
$alerts = isset($data['alerts']) ? $data['alerts'] : [];
$IsPassMandatory = isset($data['conditions']['pcs']['pm']) ? $data['conditions']['pcs']['pm'] : false;
$IsPassExpiry = isset($data['conditions']['pcs']['pped']) ? $data['conditions']['pcs']['pped'] : false;
$IsPassIssue = isset($data['conditions']['pcs']['pid']) ? $data['conditions']['pcs']['pid'] : false;
$IsPassDateOfBirth = isset($data['conditions']['pcs']['dobe']) ? $data['conditions']['pcs']['dobe'] : false;
$isGSTMandatory = isset($data['conditions']['gst']['igm']) ? $data['conditions']['gst']['igm'] : false;
$isSeatApplicable = isset($data['conditions']['isa']) ? $data['conditions']['isa'] : false;
$isSessionTime = isset($data['conditions']['st']) ? $data['conditions']['st'] : false;
$isSessionTime = floor(($isSessionTime / 60) % 60);
$isAdobrMandatory = isset($data['conditions']['dob']['adobr']) ? $data['conditions']['dob']['adobr'] : false;
$isCdobrMandatory = isset($data['conditions']['dob']['cdobr']) ? $data['conditions']['dob']['cdobr'] : false;
$isIdobrMandatory = isset($data['conditions']['dob']['idobr']) ? $data['conditions']['dob']['idobr'] : false;
$arrInsertFlightBookingData = [];
// echo '<pre>';
// print_r($isSeatApplicable);
// print_r($data['conditions']);
// echo '</pre>';
// die('kkk');
if ($data['tripInfos']) {
$TempArr['onward'] = $data['tripInfos'][0];
$TempArr['return'] = $data['tripInfos'][1];
$totalPriceListArr = array_merge($TempArr['onward']['totalPriceList'], isset($TempArr['return']['totalPriceList'])?$TempArr['return']['totalPriceList']:[]);
foreach ($data['tripInfos'] as $key => $result) {
if ($key == 0) {
$intJourneyType = 1;
} else {
$intJourneyType = 2;
}
$BookingData = $FlightBookingData[$key];
$alertsFare = isset($alerts[$key]) ? $alerts[$key] : [];
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB'];
$IsMealIncludes = $totalPriceList['fd']['ADULT']['mI'];
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB'];
$strTraceId = $BookingData['FairRules']['PriceID'];
$ResultIndex = $BookingData['FairRules']['PriceID'];
$ExtraMarkup = $BookingData['FairRules']['ExtraMarkup'];
$ExtraMarkupOnGST = $BookingData['FairRules']['ExtraMarkupOnGST'];
$DiscountValue = $BookingData['FairRules']['DiscountValue'];
$TotalExtraMarkUp = ($ExtraMarkup + $ExtraMarkupOnGST);
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$arrSegments = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$newFare = isset($alertsFare['newFare']) ? $alertsFare['newFare'] : 0;
$oldFare = isset($alertsFare['oldFare']) ? $alertsFare['oldFare'] : 0;
$FareBreakdown = [];
$FairRulesArr = [];
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if (empty($fareIdentifier)) {
$fareIdentifier = $price['fareIdentifier'];
}
if ($price['fareIdentifier'] == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
// echo '<pre>';
// print_r(($fareDetail));
// echo '</pre>';
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = $NetFare;
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => ($OfferedFare - $TdsOnPLBCal),
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr, 'Review');
// echo '<pre>';
// print_r(($arrMarkUps));
// echo '</pre>';
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = ($ADULTNCMTDS * $adultCount);
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['GSTonComm'] = 0;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = ($CHILDNCMTDS * $childCount);
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['GSTonComm'] = 0;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = ($INFANTNCMTDS * $infantCount);
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] = $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] = $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] = $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['GSTonComm'] = 0;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FareBreakdownArr = [];
$segmentCount = count($FareBreakdown);
if ($FareBreakdown) {
foreach ($FareBreakdown as $sg => $seg) {
$FareBreakdownArr[$sg] = $seg;
$FareBreakdownArr[$sg]['ExtraMarkup'] = ($ExtraMarkup / $segmentCount);
$FareBreakdownArr[$sg]['ExtraMarkupOnGST'] = ($ExtraMarkupOnGST / $segmentCount);
$FareBreakdownArr[$sg]['DiscountValue'] = ($DiscountValue / $segmentCount);
$FareBreakdownArr[$sg]['DiscountCoupon'] = ($DiscountValue > 0) ? 1 : 0;
}
}
$FairRulesArr = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => (($arrMarkUps['PublishFare'] + $TotalExtraMarkUp) * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"newFare" => $newFare,
"oldFare" => $oldFare,
"FareClass" => $fareDetail['ADULT']['cc'],
"intTotalGST" => $arrMarkUps['intTotalGST'],
"apiMarkup" => $arrMarkUps['apiMarkup'],
"IntCommission" => $arrMarkUps['IntCommission'],
"apiTaxOnMarkup" => $arrMarkUps['apiTaxOnMarkup'],
"FixedMarkUp" => $arrMarkUps['IntAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['IntTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['IntCommission'],
"GSTonComm" => 0,
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"ExtraMarkup" => $ExtraMarkup,
"ExtraMarkupOnGST" => $ExtraMarkupOnGST,
"DiscountValue" => $DiscountValue,
"FareBreakdown" => $FareBreakdownArr,
// "FareBreakdown" => $FareBreakdown,
);
// echo '<pre>';
// print_r($arrMarkUps);
// echo '</pre>';
// echo '<pre>';
// print_r($FairRulesArr);
// echo '</pre>';
}
}
$BAGGAGE = isset($OriginSegments['ssrInfo']['BAGGAGE']) ? $OriginSegments['ssrInfo']['BAGGAGE'] : '';
$MEAL = isset($OriginSegments['ssrInfo']['MEAL']) ? $OriginSegments['ssrInfo']['MEAL'] : '';
if ($BAGGAGE) {
foreach ($BAGGAGE as $b => $bag) {
$Weight = str_replace('Excess Baggage - ', '', $bag['desc']);
$BaggageArr[$b]['Currency'] = 'INR';
$BaggageArr[$b]['key'] = $OriginSegments['id'];
$BaggageArr[$b]['Code'] = $bag['code'];
$BaggageArr[$b]['Price'] = isset($bag['amount']) ? $bag['amount'] : 0;
$BaggageArr[$b]['Weight'] = $Weight;
}
}
if ($MEAL) {
foreach ($MEAL as $m => $meals) {
$MealArr[$m]['Currency'] = 'INR';
$MealArr[$m]['key'] = $OriginSegments['id'];
$MealArr[$m]['Code'] = $meals['code'];
$MealArr[$m]['Price'] = isset($meals['amount']) ? $meals['amount'] : 0;
$MealArr[$m]['Description'] = $meals['desc'];
}
}
if ($SegmentInformation) {
foreach ($SegmentInformation as $k => $segments) {
//echo '<pre>';print_r($segments);
$BAGGAGEARRAY = isset($segments['ssrInfo']['BAGGAGE']) ? $segments['ssrInfo']['BAGGAGE'] : '';
$MEALARRAY = isset($segments['ssrInfo']['MEAL']) ? $segments['ssrInfo']['MEAL'] : '';
$MealArrNew = [];
$BaggageArrNew = [];
if ($MEALARRAY) {
foreach ($MEALARRAY as $m => $meals) {
$MealArrNew[$m]['Currency'] = $this->CurrencyTitle;
$MealArrNew[$m]['key'] = $segments['id'];
$MealArrNew[$m]['Code'] = $meals['code'];
$MealArrNew[$m]['Price'] = isset($meals['amount']) ? $meals['amount'] : 0;
$MealArrNew[$m]['Description'] = $meals['desc'];
}
}
if ($BAGGAGEARRAY) {
foreach ($BAGGAGEARRAY as $b => $bag) {
$Weight = str_replace('Excess Baggage - ', '', $bag['desc']);
$BaggageArrNew[$b]['Currency'] = $this->CurrencyTitle;
$BaggageArrNew[$b]['key'] = $segments['id'];
$BaggageArrNew[$b]['Code'] = $bag['code'];
$BaggageArrNew[$b]['Price'] = isset($bag['amount']) ? $bag['amount'] : 0;
$BaggageArrNew[$b]['Weight'] = $Weight;
}
}
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"segmentid" => $segments['id'],
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => ($k + 1),
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"SegmentIndicator" => ($k + 1),
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
"BAGGAGEARRAY" => $BaggageArrNew,
"MEALARRAY" => $MealArrNew,
"SegmentNumber" => $segments['sN'],
"isReturnSegment" => $segments['isRs'],
);
}
}
$flightSSRDetails = new Zend_Session_Namespace('flightSSRDetails');
$flightSSRDetails->params['Baggage'] = $BaggageArr;
$flightSSRDetails->params['Meal'] = $MealArr;
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->CalculateHoursMinutes($OriginSegments['dt'], $DestinationSegments['at']);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$FareRuleData = isset($FareRuleRequest) ? $FareRuleRequest : [];
$arrInsertFlightData[$key]['bookingId'] = $bookingId;
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$key]['IsDirect'] = 0;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
//$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
//$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = ($strFlightRoute == '3')?$intSourceCityId[$key]:$intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = ($strFlightRoute == '3')?$intDestinationCityId[$key]:$intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = $Stops;
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = 1;
$arrInsertFlightData[$key]['PublishedFare'] = $PublishedFare; // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($PublishedFare); // As Discussed with GG
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['Baggage'] = $BaggageArr;
$arrInsertFlightData[$key]['Meal'] = $MealArr;
$arrInsertFlightData[$key]['isGSTMandatory'] = $isGSTMandatory;
$arrInsertFlightData[$key]['IsPassMandatory'] = $IsPassMandatory;
$arrInsertFlightData[$key]['IsPassExpiry'] = $IsPassExpiry;
$arrInsertFlightData[$key]['IsPassIssue'] = $IsPassIssue;
$arrInsertFlightData[$key]['IsPassDateOfBirth'] = $IsPassDateOfBirth;
$arrInsertFlightData[$key]['isAdobrMandatory'] = $isAdobrMandatory;
$arrInsertFlightData[$key]['isCdobrMandatory'] = $isCdobrMandatory;
$arrInsertFlightData[$key]['isIdobrMandatory'] = $isIdobrMandatory;
$arrInsertFlightData[$key]['isSeatApplicable'] = $isSeatApplicable;
$arrInsertFlightData[$key]['isSessionTime'] = $isSessionTime . ':00';
$arrInsertFlightData[$key]['ICSourceSysId'] = 7;
$arrInsertFlightData[$key]['strTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['FareRuleData'] = $FareRuleData;
$arrInsertFlightData[$key]['CancelFee'] = ($intMarkUp * $intMemberCount);
$arrInsertFlightData[$key]['arrCommonInsVariables'] = $arrCommonInsVariables;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
$arrInsertFlightData[$key]['FilterPrice'] = ''; //$FilterPrice;
}
if ($strFlightRoute == 2 && $interNationalSearch == 1) {
$BookingData = $FlightBookingData[0];
$OriginOnward = ($TempArr['onward']);
$AirlineCode = $OriginOnward['fD']['aI']['code'];
$ExtraMarkup = isset($BookingData['FairRules']['ExtraMarkup'])?$BookingData['FairRules']['ExtraMarkup']:0;
$ExtraMarkupOnGST = isset($BookingData['FairRules']['ExtraMarkupOnGST'])?$BookingData['FairRules']['ExtraMarkupOnGST']:0;
$DiscountCoupon = isset($BookingData['FairRules']['DiscountCoupon'])?$BookingData['FairRules']['DiscountCoupon']:0;
$DiscountValue = isset($BookingData['FairRules']['DiscountValue'])?$BookingData['FairRules']['DiscountValue']:0;
$BaseFareT = 0;
$TaxT = 0;
$YQTaxT = 0;
$OtherChargesT = 0;
$DiscountT = 0;
$ServiceFeeT = 0;
$ManagementFeeTaxT = 0;
$AirlineGSTComponentT = 0;
$CarrierMiscFeeT = 0;
$MUFeeT = 0;
$intPublishedFareT = 0;
$PublishedFareT = 0;
$OfferedFareT = 0;
$CommissionEarnedT = 0;
$PLBEarnedT = 0;
$IncentiveEarnedT = 0;
$TdsOnPLBT = 0;
$TdsOnIncentive = 0;
$AdditionalTxnFeeOfrd = 0;
$AdditionalTxnFeePub = 0;
$RefundableT = 0;
$intTotalGSTT = 0;
$apiMarkupT = 0;
$IntCommissionT = 0;
$apiTaxOnMarkupT = 0;
$FixedMarkUpT = 0;
$GSTOnMarkUpT = 0;
$CommEarnedT = 0;
$GSTonCommT = 0;
0;
$intGTXMarkUpT = 0;
$GTXMarkUpGSTT = 0;
$newFareT = 0;
$oldFareT = 0;
$FairRulesArr = [];
$FareBreakdown = [];
$Segments = [];
$AirlineCode = $OriginSegments['fD']['aI']['code'];
//echo '<pre>';print_r(($totalPriceListArr));echo '</pre>';
if ($totalPriceListArr) {
foreach ($totalPriceListArr as $kp => $price) {
$fareDetail = $price['fd'];
//echo '<pre>';print_r(($fareDetail));echo '</pre>';
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
$fareIdentifier = $price['fareIdentifier'];
$AddMarkup = isset($AdditionalMarkup['finalArr'][$fareIdentifier]) ? $AdditionalMarkup['finalArr'][$fareIdentifier] : [];
$fareremarks = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['remarks']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['remarks'] : '';
$fareIdentifier = isset($AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier']) ? $AdditionalMarkup['finalArr'][$fareIdentifier]['fareIdentifier'] : '';
$colors = !empty($AddMarkup['color']) ? $AddMarkup['color'] : '#000000';
$MarkUpValue = isset($AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue']) ? $AdditionalMarkup['AirlineWiseMarkup'][$AirlineCode]['MarkUpValue'] : 0;
$AddMarkup['markup_b2c'] = ($AddMarkup['markup_b2c'] + $MarkUpValue);
if ($price['fareIdentifier'] == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
//$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
//$PublishedFareIN = $NetFare;
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = $PublishedFareIN;
$TdsOnPLBCal = isset($TdsOnPLB) ? str_replace('-', '', $TdsOnPLB) : 0;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => ($NetFare - $TdsOnPLBCal),
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
//echo '<pre>';print_r(($markUpArr));echo '</pre>';
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr, 'Review');
//echo '<pre>';print_r(($arrMarkUps));echo '</pre>';
$TdsOnPLBCal = isset($ADULTNCMTDS) ? str_replace('-', '', $ADULTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => (($ADULT['NF'] - $TdsOnPLBCal) * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] += ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] += ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['BaseFare'] += ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] += ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] += ($ADULTNCMTDS * $adultCount);
$FareBreakdown[0]['MF'] += ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] += ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] += ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] += ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] += ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] += ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] += ($AD_YR * $adultCount);
$FareBreakdown[0]['intTotalGST'] += $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[0]['apiMarkup'] += $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[0]['IntCommission'] += $arrMarkUpsBR['IntCommission'];
$FareBreakdown[0]['apiTaxOnMarkup'] += $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[0]['FixedMarkUp'] += $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[0]['GSTOnMarkUp'] += $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[0]['CommEarned'] += $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[0]['GSTonComm'] += 0;
$FareBreakdown[0]['intGTXMarkUp'] += $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[0]['GTXMarkUpGST'] += $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] += 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] += 0;
$FareBreakdown[0]['PGCharge'] += 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$TdsOnPLBCal = isset($CHILDNCMTDS) ? str_replace('-', '', $CHILDNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => (($CHILD['NF'] - $TdsOnPLBCal) * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] += ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] += ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] += ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] += ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] += ($CHILDNCMTDS * $childCount);
$FareBreakdown[1]['MF'] += ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] += ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] += ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] += ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] += ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] += ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] += ($CH_YR * $childCount);
$FareBreakdown[1]['intTotalGST'] += $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[1]['apiMarkup'] += $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[1]['IntCommission'] += $arrMarkUpsBR['IntCommission'];
$FareBreakdown[1]['apiTaxOnMarkup'] += $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[1]['FixedMarkUp'] += $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[1]['GSTOnMarkUp'] += $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[1]['CommEarned'] += $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[1]['GSTonComm'] += 0;
$FareBreakdown[1]['intGTXMarkUp'] += $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[1]['GTXMarkUpGST'] += $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] += 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] += 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$TdsOnPLBCal = isset($INFANTNCMTDS) ? str_replace('-', '', $INFANTNCMTDS) : 0;
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => (($INFANT['NF'] - $TdsOnPLBCal) * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
'AddMarkup' => $AddMarkup,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR, 'Review');
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] += ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] += ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] += ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] += ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] += ($INFANTNCMTDS * $infantCount);
$FareBreakdown[2]['MF'] += ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] += ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] += ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] += ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] += ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] += ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] += ($IN_YR * $infantCount);
$FareBreakdown[2]['intTotalGST'] += $arrMarkUpsBR['intTotalGST'];
$FareBreakdown[2]['apiMarkup'] += $arrMarkUpsBR['apiMarkup'];
$FareBreakdown[2]['IntCommission'] += $arrMarkUpsBR['IntCommission'];
$FareBreakdown[2]['apiTaxOnMarkup'] += $arrMarkUpsBR['apiTaxOnMarkup'];
$FareBreakdown[2]['FixedMarkUp'] += $arrMarkUpsBR['IntAgencyFixMarkUp'];
$FareBreakdown[2]['GSTOnMarkUp'] += $arrMarkUpsBR['IntTaxOnAgencyFixMarkUp'];
$FareBreakdown[2]['CommEarned'] += $arrMarkUpsBR['IntCommission']; //$arrMarkUpsBR['intCommisionEarnedForAgency'];
$FareBreakdown[2]['GSTonComm'] += 0;
$FareBreakdown[2]['intGTXMarkUp'] += $arrMarkUpsBR['intGTXMarkUp'];
$FareBreakdown[2]['GTXMarkUpGST'] += $arrMarkUpsBR['intSTaxOnGTXMarkUp'];
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] += 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] += 0;
$FareBreakdown[2]['PGCharge'] += 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
$FareBreakdownar = [];
$FareBreakCount = count($FareBreakdown);
if($FareBreakdown){
foreach($FareBreakdown as $brk=>$farebreack){
$FareBreakdownar[$brk] = $farebreack;
$FareBreakdownar[$brk]['ExtraMarkup'] = ((float) ($ExtraMarkup) / $FareBreakCount);
$FareBreakdownar[$brk]['ExtraMarkupOnGST'] = ((float) ($ExtraMarkupOnGST) / $FareBreakCount);
$FareBreakdownar[$brk]['DiscountCoupon'] = ($DiscountValue > 0)?1:0;
$FareBreakdownar[$brk]['DiscountValue'] = ((float) ($DiscountValue) / $FareBreakCount);
}
}
$Currency = $this->CurrencyTitle;
$CurrencyRate = $this->CurrencyRate;
$currencySysId = $this->CurrencyId;
$BaseFareT += $BaseFareIN;
$TaxT += $TaxIN;
$YQTaxT += $YQTax;
$OtherChargesT += $OtherCharges;
$DiscountT += 0; //$Discount;
$ServiceFeeT += $ServiceFee;
$ManagementFeeTaxT += $ManagementFeeTax;
$AirlineGSTComponentT += $AirlineGSTComponent;
$CarrierMiscFeeT += $CarrierMiscFee;
$MUFeeT += $MUFee;
$intPublishedFareT += $PublishedFareIN;
$PublishedFareT += ($arrMarkUps['PublishFare'] * $this->CurrencyRate);
$OfferedFareT += $arrMarkUps['intOfferedFare'];
$CommissionEarnedT += $CommissionEarned;
$PLBEarnedT += $PLBEarned;
$IncentiveEarnedT += $IncentiveEarned;
$TdsOnPLBT += $TdsOnPLB;
$TdsOnIncentiveT += 0;
$AdditionalTxnFeeOfrd += 0;
$AdditionalTxnFeePub += 0;
$RefundableT += $Refundable;
$IsRefundableTxtT = $IsRefundableTxt;
$PriceID = $PriceID;
$IsGSTRequired = $IsGSTRequired;
$fareIdentifier = str_replace('_', ' ', $fareIdentifier);
$FareClass = $fareDetail['ADULT']['cc'];
$intTotalGSTT += $arrMarkUps['intTotalGST'];
$apiMarkupT += $arrMarkUps['apiMarkup'];
$IntCommissionT += $arrMarkUps['IntCommission'];
$apiTaxOnMarkupT += $arrMarkUps['apiTaxOnMarkup'];
$FixedMarkUpT += $arrMarkUps['IntAgencyFixMarkUp'];
$GSTOnMarkUpT += $arrMarkUps['IntTaxOnAgencyFixMarkUp'];
$CommEarnedT += $arrMarkUps['IntCommission']; //$arrMarkUps['intCommisionEarnedForAgency'];
$GSTonCommT += 0;
$intGTXMarkUpT += $arrMarkUps['intGTXMarkUp'];
$GTXMarkUpGSTT += $arrMarkUps['intSTaxOnGTXMarkUp'];
$newFareT += $newFare;
$oldFareT += $oldFare;
$seg = $arrInsertFlightData[$kp]['Segments'];
// echo $kp;
$Segments[] = $seg;
}
}
//echo '<pre>';print_r($arrInsertFlightData);echo '</pre>';
$FairRulesArr = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareT,
"Tax" => $TaxT,
"YQTax" => $YQTaxT,
"OtherCharges" => $OtherChargesT,
"Discount" => 0,
"ServiceFee" => $ServiceFeeT,
"ManagementFeeTax" => $ManagementFeeTaxT,
"AirlineGSTComponent" => $AirlineGSTComponentT,
"CarrierMiscFee" => $CarrierMiscFeeT,
"MUFee" => $MUFeeT,
"intPublishedFare" => $intPublishedFareT,
"PublishedFare" => ($PublishedFareT),
"OfferedFare" => $OfferedFareT,
"CommissionEarned" => $CommissionEarnedT,
"PLBEarned" => $PLBEarnedT,
"IncentiveEarned" => $IncentiveEarnedT,
"TdsOnPLB" => $TdsOnPLBT,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxtT,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => $fareIdentifier,
"FareClass" => $FareClass,
"intTotalGST" => $intTotalGSTT,
"apiMarkup" => $apiMarkupT,
"IntCommission" => $IntCommissionT,
"apiTaxOnMarkup" => $apiTaxOnMarkupT,
"FixedMarkUp" => $FixedMarkUpT,
"GSTOnMarkUp" => $GSTOnMarkUpT,
"CommEarned" => $CommEarnedT,
"GSTonComm" => 0,
"intGTXMarkUp" => $intGTXMarkUpT,
"GTXMarkUpGST" => $GTXMarkUpGSTT,
"newFare" => $newFareT,
"oldFare" => $oldFareT,
"ExtraMarkup" => $ExtraMarkup,
"ExtraMarkupOnGST" => $ExtraMarkupOnGST,
"DiscountCoupon" => $DiscountCoupon,
"DiscountCoupon" => $DiscountValue,
"FareBreakdown" => $FareBreakdownar,
);
//echo '<pre>';print_r(($FairRulesArr));echo '</pre>';
$arrInsertFlightDataInt['bookingId'] = $arrInsertFlightData[0]['bookingId'];
$arrInsertFlightDataInt['FlightNumber'] = $arrInsertFlightData[0]['FlightNumber'];
$arrInsertFlightDataInt['AirlineName'] = $arrInsertFlightData[0]['AirlineName'];
$arrInsertFlightDataInt['AirlineCode'] = $arrInsertFlightData[0]['AirlineCode'];
$arrInsertFlightDataInt['AirInvenSysId'] = $arrInsertFlightData[0]['AirInvenSysId'];
$arrInsertFlightDataInt['IsLCC'] = $arrInsertFlightData[0]['IsLCC'];
$arrInsertFlightDataInt['IsMealIncludes'] = $arrInsertFlightData[0]['IsMealIncludes'];
$arrInsertFlightDataInt['IsBagIncludes'] = $arrInsertFlightData[0]['IsBagIncludes'];
$arrInsertFlightDataInt['IsRefundable'] = $arrInsertFlightData[0]['IsRefundable'];
$arrInsertFlightDataInt['IsRefundableTxt'] = $arrInsertFlightData[0]['IsRefundableTxt'];
$arrInsertFlightDataInt['SearchTraceId'] = $arrInsertFlightData[0]['SearchTraceId'];
$arrInsertFlightDataInt['apiTraceId'] = $arrInsertFlightData[0]['apiTraceId'];
$arrInsertFlightDataInt['AirlineSysId'] = $arrInsertFlightData[0]['AirlineSysId'];
$arrInsertFlightDataInt['DepartureTime'] = $arrInsertFlightData[0]['DepartureTime'];
$arrInsertFlightDataInt['ArrivalTime'] = $arrInsertFlightData[0]['ArrivalTime'];
$arrInsertFlightDataInt['TravelDate'] = $arrInsertFlightData[0]['TravelDate'];
$arrInsertFlightDataInt['LocalFromTime'] = $arrInsertFlightData[0]['LocalFromTime'];
$arrInsertFlightDataInt['FromUTCTime'] = $arrInsertFlightData[0]['FromUTCTime'];
$arrInsertFlightDataInt['LocalToTime'] = $arrInsertFlightData[0]['LocalToTime'];
$arrInsertFlightDataInt['ToUTCTime'] = $arrInsertFlightData[0]['ToUTCTime'];
$arrInsertFlightDataInt['IsDirect'] = $arrInsertFlightData[0]['IsDirect'];
$arrInsertFlightDataInt['FareClass'] = $arrInsertFlightData[0]['FareClass'];
$arrInsertFlightDataInt['LAYOVERCity'] = $arrInsertFlightData[0]['LAYOVERCity'];
$arrInsertFlightDataInt['GroundTime'] = $arrInsertFlightData[0]['GroundTime'];
$arrInsertFlightDataInt['LAYOVERDuration'] = $arrInsertFlightData[0]['LAYOVERDuration'];
$arrInsertFlightDataInt['FlyingMinutes'] = $arrInsertFlightData[0]['FlyingMinutes'];
$arrInsertFlightDataInt['DepartureDateTxt'] = $arrInsertFlightData[0]['DepartureDateTxt'];
$arrInsertFlightDataInt['ArrivalDateTxt'] = $arrInsertFlightData[0]['ArrivalDateTxt'];
$arrInsertFlightDataInt['FlightDuration'] = $arrInsertFlightData[0]['FlightDuration'];
$arrInsertFlightDataInt['SourcePlaceSysId'] = $arrInsertFlightData[0]['SourcePlaceSysId'];
$arrInsertFlightDataInt['DestPlaceSysId'] = $arrInsertFlightData[0]['DestPlaceSysId'];
$arrInsertFlightDataInt['SourceAirportCode'] = $arrInsertFlightData[0]['SourceAirportCode'];
$arrInsertFlightDataInt['DestAirportCode'] = $arrInsertFlightData[0]['DestAirportCode'];
$arrInsertFlightDataInt['StopCount'] = $arrInsertFlightData[0]['StopCount'];
$arrInsertFlightDataInt['Stops'] = $arrInsertFlightData[0]['Stops'];
$arrInsertFlightDataInt['NoOfSeatAvailable'] = $arrInsertFlightData[0]['NoOfSeatAvailable'];
$arrInsertFlightDataInt['TotalFlightMembers'] = $arrInsertFlightData[0]['TotalFlightMembers'];
$arrInsertFlightDataInt['CurrencyType'] = $arrInsertFlightData[0]['CurrencyType'];
$arrInsertFlightDataInt['PublishedFare'] = $arrInsertFlightData[0]['PublishedFare'];
$arrInsertFlightDataInt['PublishedFareTxt'] = $arrInsertFlightData[0]['PublishedFareTxt'];
$arrInsertFlightDataInt['ApiResultIndex'] = $arrInsertFlightData[0]['ApiResultIndex'];
$arrInsertFlightDataInt['JourneyType'] = $arrInsertFlightData[0]['JourneyType'];
$arrInsertFlightDataInt['TripType'] = $arrInsertFlightData[0]['TripType'];
$arrInsertFlightDataInt['IsInternational'] = $arrInsertFlightData[0]['IsInternational'];
$arrInsertFlightDataInt['logo'] = $arrInsertFlightData[0]['logo'];
//$arrInsertFlightDataInt['FairRules'] = $arrInsertFlightData[0]['FairRules'];
$arrInsertFlightDataInt['Baggage'] = $arrInsertFlightData[0]['Baggage'];
$arrInsertFlightDataInt['Meal'] = $arrInsertFlightData[0]['Meal'];
$arrInsertFlightDataInt['isGSTMandatory'] = $arrInsertFlightData[0]['isGSTMandatory'];
$arrInsertFlightDataInt['IsPassMandatory'] = $arrInsertFlightData[0]['IsPassMandatory'];
$arrInsertFlightDataInt['IsPassExpiry'] = $arrInsertFlightData[0]['IsPassExpiry'];
$arrInsertFlightDataInt['IsPassIssue'] = $arrInsertFlightData[0]['IsPassIssue'];
$arrInsertFlightDataInt['IsPassDateOfBirth'] = $arrInsertFlightData[0]['IsPassDateOfBirth'];
$arrInsertFlightDataInt['isAdobrMandatory'] = $arrInsertFlightData[0]['isAdobrMandatory'];
$arrInsertFlightDataInt['isCdobrMandatory'] = $arrInsertFlightData[0]['isCdobrMandatory'];
$arrInsertFlightDataInt['isIdobrMandatory'] = $arrInsertFlightData[0]['isIdobrMandatory'];
$arrInsertFlightDataInt['isSeatApplicable'] = $arrInsertFlightData[0]['isSeatApplicable'];
$arrInsertFlightDataInt['isSessionTime'] = $arrInsertFlightData[0]['isSessionTime'];
$arrInsertFlightDataInt['strTraceId'] = $arrInsertFlightData[0]['strTraceId'];
$arrInsertFlightDataInt['FareRuleData'] = $arrInsertFlightData[0]['FareRuleData'];
$arrInsertFlightDataInt['CancelFee'] = $arrInsertFlightData[0]['CancelFee'];
$arrInsertFlightDataInt['ICSourceSysId'] = $arrInsertFlightData[0]['ICSourceSysId'];
$arrInsertFlightDataInt['FairRules'] = $FairRulesArr;
$arrInsertFlightDataInt['Segments'] = $Segments;
$arrCommonInsVariables = array(
'strTraceId' => $arrInsertFlightData[0]['apiTraceId'],
'localFromDateTime' => $arrInsertFlightData[0]['LocalFromTime'],
'localToDateTime' => $arrInsertFlightData[0]['LocalToTime'],
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 2, // For Round Trips API Search
'TripType' => 1,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
$arrInsertFlightDataInt[0]['arrCommonInsVariables'] = $arrCommonInsVariables;
$arrInsertFlightData[0]['InternationalData'] = $arrInsertFlightDataInt;
}
}
// echo "<pre>";
// print_r($arrInsertFlightData);
// die;
return $arrInsertFlightData;
}
public function UpdateFlightBookingDatadddd($data, $alerts, $SearchTraceId, $sessionFlightSearchParams)
{
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
$apiResponse = $data;
$leadId = $sessionFlightSearchParams['editLeadId'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$FlightBookingData = new Zend_Session_Namespace('FlightBookingData');
$FlightSearchGuard = new Zend_Session_Namespace('FlightSearchGuard');
$CurrentFlightSearchGuard = new Zend_Session_Namespace('CurrentFlightSearchGuard');
$FlightSearchResults = new Zend_Session_Namespace('FlightSearchResults');
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strDepatureDate = $sessionFlightSearchParams['strDepatureDate'];
$strReturnDate = !empty($sessionFlightSearchParams['strReturnDate']) ? $sessionFlightSearchParams['strReturnDate'] : '';
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$intTatalPaxCT = $adultCount + $childCount;
$getMarkup = $this->getMarkup($intCountryCode, $AgencySysId);
$strTraceId = !empty($apiResponse['TraceId']) ? $apiResponse['TraceId'] : '';
$localFromDateTime = date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = date("Y-m-d h:i", strtotime($strReturnDate));
$arrCommonInsVariables = array(
'strTraceId' => $strTraceId,
'localFromDateTime' => $localFromDateTime,
'localToDateTime' => $localToDateTime,
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 2, // For Round Trips API Search
'TripType' => $strFlightRoute,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
$strTraceId = $arrCommonInsVariables['strTraceId'];
$localFromDateTime = $arrCommonInsVariables['localFromDateTime'];
$localToDateTime = $arrCommonInsVariables['localToDateTime'];
$strSourceAirportCode = $arrCommonInsVariables['strSourceAirportCode'];
$strDestinationAirportCode = $arrCommonInsVariables['strDestinationAirportCode'];
$intMemberCount = $arrCommonInsVariables['intMemberCount'];
$intSourceCityId = $arrCommonInsVariables['intSourceCityId'];
$intDestinationCityId = $arrCommonInsVariables['intDestinationCityId'];
$intJourneyType = $arrCommonInsVariables['JourneyType'];
$intTripType = $arrCommonInsVariables['TripType'];
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '0';
$intTripType = $strFlightRoute;
$arrInsertFlightData = [];
$BaggageArr = [];
$MealArr = [];
$bookingId = $data['bookingId'];
$alerts = isset($data['alerts']) ? $data['alerts'] : [];
$IsPassMandatory = isset($data['conditions']['pcs']['pm']) ? $data['conditions']['pcs']['pm'] : false;
$IsPassExpiry = isset($data['conditions']['pcs']['pped']) ? $data['conditions']['pcs']['pped'] : false;
$IsPassIssue = isset($data['conditions']['pcs']['pid']) ? $data['conditions']['pcs']['pid'] : false;
$IsPassDateOfBirth = isset($data['conditions']['pcs']['dobe']) ? $data['conditions']['pcs']['dobe'] : false;
$isGSTMandatory = isset($data['conditions']['gst']['igm']) ? $data['conditions']['gst']['igm'] : false;
$arrInsertFlightBookingData = [];
// echo '<pre>';
// print_r($IsPassMandatory);
// print_r($data['conditions']);
// echo '</pre>';
// die('kkk');
if ($data['tripInfos']) {
foreach ($data['tripInfos'] as $key => $result) {
if ($key == 0) {
$intJourneyType = 1;
} else {
$intJourneyType = 2;
}
$BookingData = $FlightBookingData[$key];
$alertsFare = isset($alerts[$key]) ? $alerts[$key] : [];
$SegmentInformation = $result['sI'];
$totalPriceList = current($result['totalPriceList']);
$IsRefundable = $totalPriceList['fd']['ADULT']['rT'];
$NoOfSeatAvailable = $totalPriceList['fd']['ADULT']['sR'];
$strFareClass = $totalPriceList['fd']['ADULT']['cB'];
$IsMealIncludes = $totalPriceList['fd']['ADULT']['mI'];
$bagInfo = $totalPriceList['fd']['ADULT']['bI']['iB'];
$strTraceId = $BookingData['FairRules']['PriceID'];
$ResultIndex = $BookingData['FairRules']['PriceID'];
if (!empty($bagInfo)) {
$IsBagIncludes = true;
} else {
$IsBagIncludes = false;
}
if ($IsRefundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($IsRefundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$OriginSegments = current($SegmentInformation);
$DestinationSegments = end($SegmentInformation);
$arrSegments = [];
$FlyingMinutes = 0;
$TotalLAYOVERMinutes = 0;
$LAYOVERCityArr = [];
$PublishedFare = 0;
$BaseFare = 0;
$Tax = 0;
$YQTax = 0;
$OtherCharges = 0;
$ServiceFee = 0;
$newFare = isset($alertsFare['newFare']) ? $alertsFare['newFare'] : 0;
$oldFare = isset($alertsFare['oldFare']) ? $alertsFare['oldFare'] : 0;
$FareBreakdown = [];
$FairRulesArr = [];
if ($result['totalPriceList']) {
foreach ($result['totalPriceList'] as $kp => $price) {
$fareDetail = $price['fd'];
// echo '<pre>';
// print_r($fareDetail);
// echo '</pre>';
$SeatAvailable = $fareDetail['ADULT']['sR'];
$classOfBooking = $fareDetail['ADULT']['cB'];
$Refundable = $fareDetail['ADULT']['rT'];
$PriceID = $price['id'];
$fareIdentifier = $price['fareIdentifier'];
if ($fareIdentifier == 'SME') {
$IsGSTRequired = true;
} else {
$IsGSTRequired = false;
}
if ($Refundable == 0) {
$IsRefundableTxt = 'Non Refundable';
} elseif ($Refundable == 1) {
$IsRefundableTxt = 'Refundable';
} else {
$IsRefundableTxt = 'Partial Refundable';
}
$ADULT = $fareDetail['ADULT']['fC']; //fare Components
$CHILD = isset($fareDetail['CHILD']['fC']) ? $fareDetail['CHILD']['fC'] : []; //fare Components
$INFANT = isset($fareDetail['INFANT']['fC']) ? $fareDetail['INFANT']['fC'] : []; //fare Components
// echo '<pre>';
// print_r(($fareDetail));
// echo '</pre>';
$ADULTafC = $fareDetail['ADULT']['afC']['TAF']; //additional fareComponents
$CHILDafC = isset($fareDetail['CHILD']['afC']['TAF']) ? $fareDetail['CHILD']['afC']['TAF'] : []; //additional fareComponents
$INFANTafC = isset($fareDetail['INFANT']['afC']['TAF']) ? $fareDetail['INFANT']['afC']['TAF'] : []; //additional fareComponents
$ADULTNCMTDS = isset($fareDetail['ADULT']['afC']['NCM']['TDS']) ? $fareDetail['ADULT']['afC']['NCM']['TDS'] : 0; //TDS
$CHILDNCMTDS = isset($fareDetail['CHILD']['afC']['NCM']['TDS']) ? $fareDetail['CHILD']['afC']['NCM']['TDS'] : 0; //TDS
$INFANTNCMTDS = isset($fareDetail['INFANT']['afC']['NCM']['TDS']) ? $fareDetail['INFANT']['afC']['NCM']['TDS'] : 0; //TDS
$ADULTNCMTOT = isset($fareDetail['ADULT']['afC']['NCM']['OT']) ? $fareDetail['ADULT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$CHILDNCMTOT = isset($fareDetail['CHILD']['afC']['NCM']['OT']) ? $fareDetail['CHILD']['afC']['NCM']['OT'] : 0; //- Gross Commission
$INFANTNCMTOT = isset($fareDetail['INFANT']['afC']['NCM']['OT']) ? $fareDetail['INFANT']['afC']['NCM']['OT'] : 0; //- Gross Commission
$AD_MF = isset($ADULTafC['MF']) ? $ADULTafC['MF'] : 0; //Management Fee
$AD_YQ = isset($ADULTafC['YQ']) ? $ADULTafC['YQ'] : 0; //Fuel Surcharge
$AD_AGST = isset($ADULTafC['AGST']) ? $ADULTafC['AGST'] : 0; //Airline GST Component
$AD_MFT = isset($ADULTafC['MFT']) ? $ADULTafC['MFT'] : 0; //Management Fee Tax
$AD_OT = isset($ADULTafC['OT']) ? $ADULTafC['OT'] : 0; //Other Charges
$AD_MU = isset($ADULTafC['MU']) ? $ADULTafC['MU'] : 0; //markup
$AD_YR = isset($ADULTafC['YR']) ? $ADULTafC['YR'] : 0; //Carrier Misc Fee
$CH_MF = isset($CHILDafC['MF']) ? $CHILDafC['MF'] : 0; //Management Fee
$CH_YQ = isset($CHILDafC['YQ']) ? $CHILDafC['YQ'] : 0; //Fuel Surcharge
$CH_AGST = isset($CHILDafC['AGST']) ? $CHILDafC['AGST'] : 0; //Airline GST Component
$CH_MFT = isset($CHILDafC['MFT']) ? $CHILDafC['MFT'] : 0; //Management Fee Tax
$CH_OT = isset($CHILDafC['OT']) ? $CHILDafC['OT'] : 0; //Other Charges
$CH_MU = isset($CHILDafC['MU']) ? $CHILDafC['MU'] : 0; //markup
$CH_YR = isset($CHILDafC['YR']) ? $CHILDafC['YR'] : 0; //Carrier Misc Fee
$IN_MF = isset($INFANTafC['MF']) ? $INFANTafC['MF'] : 0; //Management Fee
$IN_YQ = isset($INFANTafC['YQ']) ? $INFANTafC['YQ'] : 0; //Fuel Surcharge
$IN_AGST = isset($INFANTafC['AGST']) ? $INFANTafC['AGST'] : 0; //Airline GST Component
$IN_MFT = isset($INFANTafC['MFT']) ? $INFANTafC['MFT'] : 0; //Management Fee Tax
$IN_OT = isset($INFANTafC['OT']) ? $INFANTafC['OT'] : 0; //Other Charges
$IN_MU = isset($INFANTafC['MU']) ? $INFANTafC['MU'] : 0; //markup
$IN_YR = isset($INFANTafC['YR']) ? $INFANTafC['YR'] : 0; //Carrier Misc Fee
if ($kp == 0) {
$PublishedFare += (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFare += (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$Tax += (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
}
$PublishedFareIN = (($ADULT['TF'] * $adultCount) + ($CHILD['TF'] * $childCount) + ($INFANT['TF'] * $infantCount)); //Total Fare
$BaseFareIN = (($ADULT['BF'] * $adultCount) + ($CHILD['BF'] * $childCount) + ($INFANT['BF'] * $infantCount)); //Base Fare
$TaxIN = (($ADULT['TAF'] * $adultCount) + ($CHILD['TAF'] * $childCount) + ($INFANT['TAF'] * $infantCount)); //Taxes and Fees
$NetFare = (($ADULT['NF'] * $adultCount) + ($CHILD['NF'] * $childCount) + ($INFANT['NF'] * $infantCount)); //Taxes and Fees
//$NetCommission = (($ADULT['NCM'] * $adultCount) + ($CHILD['NCM'] * $childCount) + ($INFANT['NCM'] * $infantCount)); //Taxes and Fees
//echo '<pre>';print_r(($ADULTafC));echo '</pre>';
$YQTax = (($AD_YQ * $adultCount) + ($CH_YQ * $childCount) + ($IN_YQ * $infantCount));
$OtherCharges = (($AD_OT * $adultCount) + ($CH_OT * $childCount) + ($IN_OT * $infantCount));
$ServiceFee = (($AD_MF * $adultCount) + ($CH_MF * $childCount) + ($IN_MF * $infantCount));
$ManagementFeeTax = (($AD_MFT * $adultCount) + ($CH_MFT * $childCount) + ($IN_MFT * $infantCount));
$AirlineGSTComponent = (($AD_AGST * $adultCount) + ($CH_AGST * $childCount) + ($IN_AGST * $infantCount));
$CarrierMiscFee = (($AD_YR * $adultCount) + ($CH_YR * $childCount) + ($IN_YR * $infantCount));
$MUFee = (($AD_MU * $adultCount) + ($CH_MU * $childCount) + ($IN_MU * $infantCount));
$TdsOnPLB = (($ADULTNCMTDS * $adultCount) + ($CHILDNCMTDS * $childCount) + ($INFANTNCMTDS * $infantCount));
$NetCommission = (($ADULTNCMTOT * $adultCount) + ($CHILDNCMTOT * $childCount) + ($INFANTNCMTOT * $infantCount));
$PublishedFare = $PublishedFareIN;
$CommissionEarned = $NetCommission;
$PLBEarned = 0; //$result['Fare']['PLBEarned'];
$IncentiveEarned = 0; //$result['Fare']['IncentiveEarned'];
$OfferedFare = $NetFare;
$markUpArr = array(
'getMarkup' => $getMarkup,
'PublishedFare' => $PublishedFare,
'OfferedFare' => $OfferedFare,
'intCommissionEarned' => $CommissionEarned,
'TdsOnPLB' => $TdsOnPLB,
'MUFee' => $MUFee,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $intMemberCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
// echo '<pre>';
// print_r(($markUpArr));
// echo '</pre>';
$arrMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArr);
// echo '<pre>';
// print_r(($arrMarkUps));
// echo '</pre>';
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($ADULT['TF'] * $adultCount),
'OfferedFare' => ($ADULT['NF'] * $adultCount),
'intCommissionEarned' => ($ADULT['NCM'] * $adultCount),
'TdsOnPLB' => ($ADULTNCMTDS * $adultCount),
'MUFee' => ($AD_MU * $adultCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $adultCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[0]['Currency'] = 'INR';
$FareBreakdown[0]['PassengerType'] = 1;
$FareBreakdown[0]['PassengerCount'] = $adultCount;
$FareBreakdown[0]['TaxIN'] = ($ADULT['TAF'] * $adultCount);
$FareBreakdown[0]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[0]['TotalBaseFare'] = ($ADULT['TF'] * $adultCount);
$FareBreakdown[0]['BaseFare'] = ($ADULT['BF'] * $adultCount);
$FareBreakdown[0]['CommissionEarned'] = ($ADULT['NCM'] * $adultCount);
$FareBreakdown[0]['TDS'] = ($ADULTNCMTDS * $adultCount);
$FareBreakdown[0]['MF'] = ($AD_MF * $adultCount);
$FareBreakdown[0]['YQ'] = ($AD_YQ * $adultCount);
$FareBreakdown[0]['AGST'] = ($AD_AGST * $adultCount);
$FareBreakdown[0]['MFT'] = ($AD_MFT * $adultCount);
$FareBreakdown[0]['OT'] = ($AD_OT * $adultCount);
$FareBreakdown[0]['MU'] = ($AD_MU * $adultCount);
$FareBreakdown[0]['YR'] = ($AD_YR * $adultCount);
$FareBreakdown[0]['FixedMarkUp'] = $arrMarkUpsBR['intAgencyFixMarkUp']; //$intAgencyFixMarkUpA;
$FareBreakdown[0]['GSTOnMarkUp'] = $arrMarkUpsBR['intSTaxOnAgencyFixMarkUp']; //$intSTaxOnAgencyFixMarkUpA;
$FareBreakdown[0]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency']; //$intCommisionEarnedForAgency;
$FareBreakdown[0]['GSTonComm'] = $arrMarkUpsBR['intGSTOnAgencyCommisionEarned']; //$intGSTOnAgencyCommisionEarned;
$FareBreakdown[0]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp']; //$intGTXMarkUpA;
$FareBreakdown[0]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp']; //$intSTaxOnGTXMarkUpA;
$FareBreakdown[0]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[0]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[0]['PGCharge'] = 0;
$FareBreakdown[0]['Baggage'] = isset($fareDetail['ADULT']['bI']['iB']) ? $fareDetail['ADULT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[0]['CabinBaggage'] = isset($fareDetail['ADULT']['bI']['cB']) ? $fareDetail['ADULT']['bI']['cB'] : []; //Cabin Baggage ;
if (isset($fareDetail['CHILD'])) {
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($CHILD['TF'] * $childCount),
'OfferedFare' => ($CHILD['NF'] * $childCount),
'intCommissionEarned' => ($CHILD['NCM'] * $childCount),
'TdsOnPLB' => ($CHILDNCMTDS * $childCount),
'MUFee' => ($CH_MU * $childCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $childCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[1]['Currency'] = 'INR';
$FareBreakdown[1]['PassengerType'] = 2;
$FareBreakdown[1]['PassengerCount'] = $childCount;
$FareBreakdown[1]['TaxIN'] = ($CHILD['TAF'] * $childCount);
$FareBreakdown[1]['TotalBaseFare'] = ($CHILD['TF'] * $childCount);
$FareBreakdown[1]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[1]['BaseFare'] = ($CHILD['BF'] * $childCount);
$FareBreakdown[1]['CommissionEarned'] = ($CHILD['NCM'] * $childCount);
$FareBreakdown[1]['TDS'] = ($CHILDNCMTDS * $childCount);
$FareBreakdown[1]['MF'] = ($CH_MF * $childCount);
$FareBreakdown[1]['YQ'] = ($CH_YQ * $childCount);
$FareBreakdown[1]['AGST'] = ($CH_AGST * $childCount);
$FareBreakdown[1]['MFT'] = ($CH_MFT * $childCount);
$FareBreakdown[1]['OT'] = ($CH_OT * $childCount);
$FareBreakdown[1]['MU'] = ($CH_MU * $childCount);
$FareBreakdown[1]['YR'] = ($CH_YR * $childCount);
$FareBreakdown[1]['FixedMarkUp'] = $arrMarkUpsBR['intAgencyFixMarkUp']; //$intAgencyFixMarkUpA;
$FareBreakdown[1]['GSTOnMarkUp'] = $arrMarkUpsBR['intSTaxOnAgencyFixMarkUp']; //$intSTaxOnAgencyFixMarkUpA;
$FareBreakdown[1]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency']; //$intCommisionEarnedForAgency;
$FareBreakdown[1]['GSTonComm'] = $arrMarkUpsBR['intGSTOnAgencyCommisionEarned']; //$intGSTOnAgencyCommisionEarned;
$FareBreakdown[1]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp']; //$intGTXMarkUpA;
$FareBreakdown[1]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp']; //$intSTaxOnGTXMarkUpA;
$FareBreakdown[1]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[1]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[1]['PGCharge'] = 0;
$FareBreakdown[1]['Baggage'] = isset($fareDetail['CHILD']['bI']['iB']) ? $fareDetail['CHILD']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[1]['CabinBaggage'] = isset($fareDetail['CHILD']['bI']['cB']) ? $fareDetail['CHILD']['bI']['cB'] : []; //Cabin Baggage ;
}
if (isset($fareDetail['INFANT'])) {
$markUpArrBR = array(
'getMarkup' => $getMarkup,
'PublishedFare' => ($INFANT['TF'] * $infantCount),
'OfferedFare' => ($INFANT['NF'] * $infantCount),
'intCommissionEarned' => ($INFANT['NCM'] * $infantCount),
'TdsOnPLB' => ($INFANTNCMTDS * $infantCount),
'MUFee' => ($IN_MU * $infantCount),
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned,
'intMemberCount' => $infantCount,
'intFlightRoute' => $strFlightRoute,
'interNationalSearch' => $interNationalSearch,
);
$arrMarkUpsBR = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->calculateMarkup($markUpArrBR);
$FareBreakdown[2]['Currency'] = 'INR';
$FareBreakdown[2]['PassengerType'] = 3;
$FareBreakdown[2]['PassengerCount'] = $infantCount;
$FareBreakdown[2]['TaxIN'] = ($INFANT['TAF'] * $infantCount);
$FareBreakdown[2]['TotalBaseFare'] = ($INFANT['TF'] * $infantCount);
$FareBreakdown[2]['BaseFareCal'] = ($arrMarkUpsBR['BaseFareCal']);
$FareBreakdown[2]['BaseFare'] = ($INFANT['BF'] * $infantCount);
$FareBreakdown[2]['CommissionEarned'] = ($INFANT['NCM'] * $infantCount);
$FareBreakdown[2]['TDS'] = ($INFANTNCMTDS * $infantCount);
$FareBreakdown[2]['MF'] = ($IN_MF * $infantCount);
$FareBreakdown[2]['YQ'] = ($IN_YQ * $infantCount);
$FareBreakdown[2]['AGST'] = ($IN_AGST * $infantCount);
$FareBreakdown[2]['OT'] = ($IN_OT * $infantCount);
$FareBreakdown[2]['MFT'] = ($IN_MFT * $infantCount);
$FareBreakdown[2]['MU'] = ($IN_MU * $infantCount);
$FareBreakdown[2]['YR'] = ($IN_YR * $infantCount);
$FareBreakdown[2]['FixedMarkUp'] = $arrMarkUpsBR['intAgencyFixMarkUp']; //$intAgencyFixMarkUpA;
$FareBreakdown[2]['GSTOnMarkUp'] = $arrMarkUpsBR['intSTaxOnAgencyFixMarkUp']; //$intSTaxOnAgencyFixMarkUpA;
$FareBreakdown[2]['CommEarned'] = $arrMarkUpsBR['intCommisionEarnedForAgency']; //$intCommisionEarnedForAgency;
$FareBreakdown[2]['GSTonComm'] = $arrMarkUpsBR['intGSTOnAgencyCommisionEarned']; //$intGSTOnAgencyCommisionEarned;
$FareBreakdown[2]['intGTXMarkUp'] = $arrMarkUpsBR['intGTXMarkUp']; //$intGTXMarkUpA;
$FareBreakdown[2]['GTXMarkUpGST'] = $arrMarkUpsBR['intSTaxOnGTXMarkUp']; //$intSTaxOnGTXMarkUpA;
$FareBreakdown[2]['AdditionalTxnFeeOfrd'] = 0;
$FareBreakdown[2]['AdditionalTxnFeePub'] = 0;
$FareBreakdown[2]['PGCharge'] = 0;
$FareBreakdown[2]['Baggage'] = isset($fareDetail['INFANT']['bI']['iB']) ? $fareDetail['INFANT']['bI']['iB'] : []; //Check In Baggage;
$FareBreakdown[2]['CabinBaggage'] = isset($fareDetail['INFANT']['bI']['cB']) ? $fareDetail['INFANT']['bI']['cB'] : []; //Cabin Baggage ;
}
//echo '<pre>';print_r($price);
$FairRulesArr = array(
"Currency" => $this->CurrencyTitle, //$Currency,
"CurrencyRate" => $this->CurrencyRate, //$Currency,
"currencySysId" => $this->CurrencyId,
"BaseFare" => $BaseFareIN,
"Tax" => $TaxIN,
"YQTax" => $YQTax,
"OtherCharges" => $OtherCharges,
"Discount" => 0, //$Discount,
"ServiceFee" => $ServiceFee,
"ManagementFeeTax" => $ManagementFeeTax,
"AirlineGSTComponent" => $AirlineGSTComponent,
"CarrierMiscFee" => $CarrierMiscFee,
"MUFee" => $MUFee,
"intPublishedFare" => $PublishedFareIN,
"PublishedFare" => ($arrMarkUps['PublishFare'] * $this->CurrencyRate),
"OfferedFare" => $arrMarkUps['intOfferedFare'],
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => 0,
"AdditionalTxnFeeOfrd" => 0,
"AdditionalTxnFeePub" => 0,
"Refundable" => $Refundable,
"IsRefundableTxt" => $IsRefundableTxt,
"PriceID" => $PriceID,
"IsGSTRequired" => $IsGSTRequired,
"fareIdentifier" => str_replace('_', ' ', $fareIdentifier),
"SeatAvailable" => $SeatAvailable,
"classOfBooking" => $classOfBooking,
"newFare" => $newFare,
"oldFare" => $oldFare,
"FareClass" => $fareDetail['ADULT']['cc'],
"FixedMarkUp" => $arrMarkUps['intAgencyFixMarkUp'],
"GSTOnMarkUp" => $arrMarkUps['intSTaxOnAgencyFixMarkUp'],
"CommEarned" => $arrMarkUps['intCommisionEarnedForAgency'],
"GSTonComm" => $arrMarkUps['intGSTOnAgencyCommisionEarned'],
"intGTXMarkUp" => $arrMarkUps['intGTXMarkUp'],
"GTXMarkUpGST" => $arrMarkUps['intSTaxOnGTXMarkUp'],
"FareBreakdown" => $FareBreakdown,
);
// echo '<pre>';
// print_r($FairRulesArr[$kp]);
// echo '</pre>';
}
}
$BAGGAGE = isset($OriginSegments['ssrInfo']['BAGGAGE']) ? $OriginSegments['ssrInfo']['BAGGAGE'] : '';
$MEAL = isset($OriginSegments['ssrInfo']['MEAL']) ? $OriginSegments['ssrInfo']['MEAL'] : '';
if ($BAGGAGE) {
foreach ($BAGGAGE as $b => $bag) {
$Weight = str_replace('Excess Baggage - ', '', $bag['desc']);
$BaggageArr[$b]['Currency'] = 'INR';
$BaggageArr[$b]['key'] = $OriginSegments['id'];
$BaggageArr[$b]['Code'] = $bag['code'];
$BaggageArr[$b]['Price'] = isset($bag['amount']) ? $bag['amount'] : 0;
$BaggageArr[$b]['Weight'] = $Weight;
}
}
if ($MEAL) {
foreach ($MEAL as $m => $meals) {
$MealArr[$m]['Currency'] = 'INR';
$MealArr[$m]['key'] = $OriginSegments['id'];
$MealArr[$m]['Code'] = $meals['code'];
$MealArr[$m]['Price'] = isset($meals['amount']) ? $meals['amount'] : 0;
$MealArr[$m]['Description'] = $meals['desc'];
}
}
if ($SegmentInformation) {
foreach ($SegmentInformation as $k => $segments) {
//echo '<pre>';print_r($segments);
$duration = $segments['duration'];
$LAYOVERMinutes = $GroundTime = isset($segments['cT']) ? $segments['cT'] : 0;
$LAYOVERCity = $LAYOVERCityArr[] = isset($segments['cT']) ? $segments['aa']['city'] : '';
$FlyingMinutes += ($duration + $LAYOVERMinutes);
$TotalLAYOVERMinutes += $LAYOVERMinutes;
$FareClass = $totalPriceList['fd']['ADULT']['cB'];
$strBaggage = $totalPriceList['fd']['ADULT']['bI']['iB']; ///Checking Baggage
$strCabinBaggage = $totalPriceList['fd']['ADULT']['bI']['cB']; ////Cabin Baggage
if (!empty($strCabinBaggage)) {
$IsBaggage = true;
} else {
$IsBaggage = false;
}
$AirlineCode = $segments['fD']['aI']['code'];
$AirlineName = $segments['fD']['aI']['name'];
$FlightNumber = $segments['fD']['fN'];
$SegFlightNumber = $AirlineCode . "-" . $FlightNumber;
$originAirportName = $segments['da']['name'];
$originAirportCode = $segments['da']['code'];
$originCityName = $segments['da']['city'];
$originCountryName = $segments['da']['country'];
$originDepTime = $segments['dt'];
$destinationAirportName = $segments['aa']['name'];
$destinationAirportCode = $segments['aa']['code'];
$destinationCityName = $segments['aa']['city'];
$destinationCountryName = $segments['aa']['country'];
$destinationArrTime = $segments['at'];
$DepTerminal = isset($segments['da']['terminal']) ? $segments['da']['terminal'] : '';
$ArrTerminal = isset($segments['aa']['terminal']) ? $segments['aa']['terminal'] : '';
$filePath = $this->getflightlogo($AirlineCode);
$LAYOVERDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($LAYOVERMinutes);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($destinationArrTime);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($originDepTime);
$strDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->convertMinutesToHoursFormat($duration);
$arrSegments[] = array(
"segmentid" => $segments['id'],
"originAirportName" => $originAirportName,
"destinationAirportName" => $destinationAirportName,
"originCityName" => $originCityName,
"originCountryName" => $originCountryName,
"destinationCityName" => $destinationCityName,
"destinationCountryName" => $destinationCountryName,
"destinationAirportCode" => $destinationAirportCode,
"destinationAirportCode" => $destinationAirportCode,
"destinationArrTime" => $destinationArrTime,
"SegFlightNumber" => $SegFlightNumber,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FareClass" => $FareClass,
"originAirportCode" => $originAirportCode,
"originDepTime" => $originDepTime,
"TripIndicator" => ($k + 1),
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"IsBaggage" => $IsBaggage,
"IsMealIncludes" => $IsMealIncludes,
"SegmentIndicator" => ($k + 1),
"Duration" => $duration,
"GroundTime" => $GroundTime,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"strDepartureDtTime" => $strDepartureDtTime,
"strArrivalDtTime" => $strArrivalDtTime,
"FlightDuration" => $strDuration,
"LAYOVERDuration" => $LAYOVERDuration,
"LAYOVERCity" => $LAYOVERCity,
"DepTerminal" => $DepTerminal,
"ArrTerminal" => $ArrTerminal,
"filePath" => $filePath,
);
}
}
$flightSSRDetails = new Zend_Session_Namespace('flightSSRDetails');
$flightSSRDetails->params['Baggage'] = $BaggageArr;
$flightSSRDetails->params['Meal'] = $MealArr;
$LAYOVERTime = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->MinutesToHours($TotalLAYOVERMinutes);
$AirlineCode = $OriginSegments['fD']['aI']['code'];
$FlightNumber = $OriginSegments['fD']['fN'];
$strFlightNumber = $AirlineCode . "-" . $FlightNumber;
$strAirlineName = $OriginSegments['fD']['aI']['name'];
$IsLCC = $OriginSegments['fD']['aI']['isLcc'];
$strSourceAirportCode = $OriginSegments['da']['code'];
$strDestinationAirportCode = $DestinationSegments['aa']['code'];
$Stops = $DestinationSegments['sN'];
if ($Stops == 0) {
$StopCountTxt = "Non-stop";
} else {
$StopCountTxt = $Stops . " Stop(s)";
}
$filePath = $this->getflightlogo($AirlineCode);
$FlightDuration = Zend_Controller_Action_HelperBroker::getStaticHelper('Flight')->CalculateHoursMinutes($OriginSegments['dt'], $DestinationSegments['at']);
$strArrivalDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($DestinationSegments['at']);
$strDepartureDtTime = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getTimeFromApiStringTJ($OriginSegments['dt']);
$airlineSysId = !empty($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData[$key]['bookingId'] = $bookingId;
$arrInsertFlightData[$key]['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData[$key]['AirlineName'] = $strAirlineName;
$arrInsertFlightData[$key]['AirlineCode'] = $AirlineCode;
$arrInsertFlightData[$key]['AirInvenSysId'] = 0;
$arrInsertFlightData[$key]['IsLCC'] = $IsLCC;
$arrInsertFlightData[$key]['IsMealIncludes'] = $IsMealIncludes;
$arrInsertFlightData[$key]['IsBagIncludes'] = $IsBagIncludes;
$arrInsertFlightData[$key]['IsRefundable'] = $IsRefundable;
$arrInsertFlightData[$key]['IsRefundableTxt'] = $IsRefundableTxt;
$arrInsertFlightData[$key]['SearchTraceId'] = $SearchTraceId;
$arrInsertFlightData[$key]['apiTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData[$key]['DepartureTime'] = $strDepartureDtTime;
$arrInsertFlightData[$key]['ArrivalTime'] = $strArrivalDtTime;
$arrInsertFlightData[$key]['TravelDate'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalFromTime'] = str_replace('T', ' ', $OriginSegments['dt']);
$arrInsertFlightData[$key]['FromUTCTime'] = $OriginSegments['dt'];
$arrInsertFlightData[$key]['LocalToTime'] = str_replace('T', ' ', $DestinationSegments['at']);
$arrInsertFlightData[$key]['ToUTCTime'] = $DestinationSegments['at'];
$arrInsertFlightData[$key]['IsDirect'] = 0;
$arrInsertFlightData[$key]['FareClass'] = $strFareClass;
$arrInsertFlightData[$key]['LAYOVERCity'] = isset($LAYOVERCityArr[0]) ? $LAYOVERCityArr[0] : '';
$arrInsertFlightData[$key]['GroundTime'] = $TotalLAYOVERMinutes;
$arrInsertFlightData[$key]['LAYOVERDuration'] = $LAYOVERTime;
$arrInsertFlightData[$key]['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData[$key]['DepartureDateTxt'] = date('D, d M', strtotime($OriginSegments['dt']));
$arrInsertFlightData[$key]['ArrivalDateTxt'] = date('D, d M', strtotime($DestinationSegments['at']));
$arrInsertFlightData[$key]['FlightDuration'] = $FlightDuration;
$arrInsertFlightData[$key]['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData[$key]['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData[$key]['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData[$key]['DestAirportCode'] = $strDestinationAirportCode;
// $arrInsertFlightData[$key]['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData[$key]['StopCount'] = $StopCountTxt;
$arrInsertFlightData[$key]['Stops'] = $Stops;
$arrInsertFlightData[$key]['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData[$key]['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData[$key]['CurrencyType'] = 1;
$arrInsertFlightData[$key]['PublishedFare'] = $PublishedFare; // As Discussed with GG
$arrInsertFlightData[$key]['PublishedFareTxt'] = number_format($PublishedFare); // As Discussed with GG
// $arrInsertFlightData[$key]['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData[$key]['ApiResultIndex'] = $ResultIndex;
$arrInsertFlightData[$key]['JourneyType'] = $intJourneyType;
$arrInsertFlightData[$key]['TripType'] = $intTripType;
$arrInsertFlightData[$key]['IsInternational'] = $interNationalSearch;
$arrInsertFlightData[$key]['logo'] = $filePath;
$arrInsertFlightData[$key]['FairRules'] = $FairRulesArr;
//$arrInsertFlightData[$key]['Fare'] = $FairRulesArr;
$arrInsertFlightData[$key]['Segments'] = $arrSegments;
$arrInsertFlightData[$key]['Baggage'] = $BaggageArr;
$arrInsertFlightData[$key]['Meal'] = $MealArr;
$arrInsertFlightData[$key]['isGSTMandatory'] = $isGSTMandatory;
$arrInsertFlightData[$key]['IsPassMandatory'] = $IsPassMandatory;
$arrInsertFlightData[$key]['IsPassExpiry'] = $IsPassExpiry;
$arrInsertFlightData[$key]['IsPassIssue'] = $IsPassIssue;
$arrInsertFlightData[$key]['IsPassDateOfBirth'] = $IsPassDateOfBirth;
$arrInsertFlightData[$key]['strTraceId'] = $strTraceId;
$arrInsertFlightData[$key]['arrCommonInsVariables'] = $arrCommonInsVariables;
$arrAirlineName[] = $AirlineCode . '-' . $strAirlineName;
$AttPriceRange[] = $PublishedFare;
$FiltStopCount[] = $StopCountTxt;
$arrInsertFlightData[$key]['FilterPrice'] = ''; //$FilterPrice;
}
}
//echo '<pre>';
//print_r($arrInsertFlightData);
return $arrInsertFlightData;
}
public function loadAddOnsAction()
{
$getData = $this->getRequest()->getParams();
// echo '<pre>';
// print_r($getData);
// die('d');
$CustomerSession = new Zend_Session_Namespace('CustomerSession');
$FlightBookingData = json_decode($getData['intOutBoundId'], true);
$flightSSRDetails = json_decode($getData['SSRArr'], true);
$TotalTravellers = json_decode($getData['TotalTravellers'], true);
$Response = $flightSSRDetails;
$SSRArr = $Response;
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('CustomerSession' => $TotalTravellers, 'SSRArr' => $SSRArr, 'SSRArrInb' => [], 'flightSSRDetails' => $flightSSRDetails, 'FlightBookingData' => $FlightBookingData, 'FlightBookingDataInbound' => []));
$bodyText = $html->render('load-add-ons.phtml');
$response = array('success' => true, 'message' => 'Done', 'html' => $bodyText);
echo json_encode($response);
exit;
//print_r($getData);
}
public function getseatpageAction()
{
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$getData = $this->getRequest()->getParams();
// echo '<pre>';
// print_r($getData);
// die('d');
$FlightBookingData = json_decode($getData['intOutBoundId'], true);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('FlightBookingData' => $FlightBookingData, 'CurrencyTitle' => $this->CurrencyTitle, 'CurrencyRate' => $this->CurrencyRate));
$bodyText = $html->render('getseatpage.phtml');
$response = array('success' => true, 'message' => 'Done', 'html' => $bodyText);
echo json_encode($response);
exit;
} else {
die('Page not found!');
}
//echo '<pre>';print_r($getData);die;
}
public function seatmapAction()
{
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$getData = $this->getRequest()->getParams();
$segmentid = $getData['segmentid'];
$FlightBookingData = json_decode($getData['intOutBoundId'], true);
$CustomerSession = json_decode($getData['TotalTravellers'], true);
$selectedSeatSession = json_decode($getData['selectedSeatSession'], true);
$sessionFlightSearchParams = json_decode($getData['sessionFlightSearchParams'], true);
$leadId = $sessionFlightSearchParams['editLeadId'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$bookingId = $FlightBookingData[0]['bookingId'];
$data = ['bookingId' => $bookingId];
// echo '<pre>';
// print_r($AgencySysId);
// echo '</pre>';
// die;
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->GetSeatMapFlightsTripJack($data, $AgencySysId);
$SegmentsArr = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $Datass) {
if ($Datass['Segments']) {
foreach ($Datass['Segments'] as $keys => $value) {
$SegmentsArr[$value['segmentid']] = $value;
}
}
}
}
$this->view->apiResponse = $apiResponse;
$this->view->segmentid = $segmentid;
$this->view->SegmentsArr = $SegmentsArr;
$this->view->baseUrl = $this->baseUrl;
$this->view->CustomerSession = $CustomerSession;
$this->view->selectedSeatSession = $selectedSeatSession;
$this->view->CurrencyTitle = $this->CurrencyTitle;
} else {
die('Page not found!');
}
}
public function updatefareAction()
{
$getData = $this->getRequest()->getParams();
$FlightBookingData = json_decode($getData['intOutBoundId'], true);
$CustomerSession = json_decode($getData['TotalTravellers'], true);
$SSRArr = json_decode($getData['SSRArr'], true);
$SelectedMeal = json_decode($getData['SelectedMeal'], true);
$SelectedBagg = json_decode($getData['SelectedBagg'], true);
$SelectedSeat = json_decode($getData['SelectedSeat'], true);
if (isset($getData['sessionFlightSearchParams'])) {
$sessionFlightSearchParams = json_decode($getData['sessionFlightSearchParams'], true);
}
if (!empty($SelectedMeal)) {
$SelectedMealSessionNew = $SelectedMeal;
} else {
$SelectedMealSessionNew = [];
}
if (!empty($SelectedBagg)) {
$SelectedBaggSessionNew = $SelectedBagg;
} else {
$SelectedBaggSessionNew = [];
}
//echo '<pre>';
//print_r($FlightBookingData);
//print_r($SSRArr);
//die;
$BaggageArr = [];
$MealArr = [];
if ($SSRArr['Baggage']) {
foreach ($SSRArr['Baggage'] as $Datass) {
if ($Datass) {
foreach ($Datass as $keys => $value) {
$BaggageArr[$value['key']][] = $value;
}
}
}
}
if ($SSRArr['Meal']) {
foreach ($SSRArr['Meal'] as $Datass) {
if ($Datass) {
foreach ($Datass as $keys => $value) {
$MealArr[$value['key']][] = $value;
}
}
}
}
$CustomerSysId = $getData['CustomerSysId'];
$segmentid = $getData['segmentid'];
$index = $getData['index'];
$NewArray = false;
if ($getData['actiontype'] == 'meal') {
$getData['data'] = $MealArr[$segmentid][$index];
if (!empty($SelectedMealSessionNew[$segmentid])) {
foreach ($SelectedMealSessionNew[$segmentid] as $CustomerId => $val) {
if ($CustomerId == $CustomerSysId) {
$SelectedMealSessionNew[$segmentid][$CustomerId] = $getData['data'];
} else {
$NewArray = true;
$SelectedMealSessionNew[$segmentid][$CustomerId] = $val;
}
}
} else {
$SelectedMealSessionNew[$segmentid][$CustomerSysId] = $getData['data'];
}
if ($NewArray) {
$SelectedMealSessionNew[$segmentid][$CustomerSysId] = $getData['data'];
}
//echo '<pre>';
//print_r($SelectedMealSessionNew);
//die;
} else {
$getData['data'] = $BaggageArr[$segmentid][$index];
if (!empty($SelectedBaggSessionNew[$segmentid])) {
foreach ($SelectedBaggSessionNew[$segmentid] as $CustomerId => $val) {
if ($CustomerId == $CustomerSysId) {
$SelectedBaggSessionNew[$segmentid][$CustomerId] = $getData['data'];
} else {
$NewArray = true;
$SelectedBaggSessionNew[$segmentid][$CustomerId] = $val;
}
}
} else {
$SelectedBaggSessionNew[$segmentid][$CustomerSysId] = $getData['data'];
}
if ($NewArray) {
$SelectedBaggSessionNew[$segmentid][$CustomerSysId] = $getData['data'];
}
}
// print_r($SelectedBaggSessionNew);
// echo '</pre>';
$BaggFare = 0;
$MealFare = 0;
$SeatPrice = 0;
if ($SelectedBaggSessionNew) {
foreach ($SelectedBaggSessionNew as $values) {
foreach ($values as $val) {
$BaggFare += $val['Price'];
}
}
}
if ($SelectedMealSessionNew) {
foreach ($SelectedMealSessionNew as $values) {
foreach ($values as $val) {
$MealFare += $val['Price'];
}
}
}
if ($SelectedSeat) {
foreach ($SelectedSeat as $values) {
foreach ($values as $val) {
$SeatPrice += $val['amount'];
}
}
}
$intNetPublishedFare = 0;
if ($FlightBookingData) {
foreach ($FlightBookingData as $value) {
$intNetPublishedFare += $value['FairRules']['PublishedFare'];
}
}
$apiResponse = ($FlightBookingData);
$Data = $apiResponse;
$MobilePublishedFare = ($intNetPublishedFare + $MealFare + $BaggFare + $SeatPrice);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('Data' => $FlightBookingData, 'actiontype' => $getData['actiontype'], 'sessionFlightSearchParams' => $sessionFlightSearchParams, 'selectedSeatSession' => $SelectedSeat, 'SelectedMealSessionNew' => $SelectedMealSessionNew, 'SelectedBaggSessionNew' => $SelectedBaggSessionNew, 'CurrencyTitle' => $this->CurrencyTitle, 'CurrencyRate' => $this->CurrencyRate));
$bodyText = $html->render('getflightfarequote.phtml');
$response = array('success' => true, 'message' => 'Done', 'MobilePublishedFare' => $this->CurrencyTitle . ' ' . number_format($MobilePublishedFare, 2), 'SelectedMealSessionNew' => json_encode($SelectedMealSessionNew), 'SelectedBaggSessionNew' => json_encode($SelectedBaggSessionNew), 'html' => $bodyText);
echo json_encode($response);
exit;
}
public function continuewithseatmapAction()
{
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$getData = $this->getRequest()->getParams();
//echo '<pre>';print_r($getData);die;
$FlightBookingData = json_decode($getData['intOutBoundId'], true);
$CustomerSession = json_decode($getData['TotalTravellers'], true);
$SelectedMeal = json_decode($getData['SelectedMeal'], true);
$SelectedBagg = json_decode($getData['SelectedBagg'], true);
$apiResponseSeat = json_decode($getData['apiResponseSeat'], true);
$SelectedSeat = json_decode($getData['SelectedSeat'], true);
if (isset($getData['sessionFlightSearchParams'])) {
$sessionFlightSearchParams = json_decode($getData['sessionFlightSearchParams'], true);
}
//Zend_Session::namespaceUnset('selectedSeatSession');die;
$segmentid = $getData['segmentid'];
$seatArray = $getData['seatArray'];
$paxTypeArr = $getData['paxTypeArr'];
$CustomerSysIdArray = $getData['CustomerSysIdArray'];
$SelectedMealSessionNew = $SelectedMeal;
$SelectedBaggSessionNew = $SelectedBagg;
if (!empty($SelectedSeat)) {
$selectedSeatSession = $SelectedSeat;
} else {
$selectedSeatSession = [];
}
$bookingId = $FlightBookingData[0]['bookingId'];
$data = ['bookingId' => $bookingId];
$tripSeat = $apiResponseSeat['tripSeatMap']['tripSeat'];
$value = $tripSeat[$segmentid];
$sInfo = $value['sInfo'];
$items = [];
foreach ($sInfo as $k => $val) {
$items[$val['seatNo']] = array(
'seatNo' => $val['seatNo'],
'amount' => $val['amount'],
'isBooked' => $val['isBooked'],
'isLegroom' => isset($val['isLegroom']) ? $val['isLegroom'] : 0,
'code' => $val['code'],
'isAisle' => isset($val['isAisle']) ? $val['isAisle'] : 0,
);
}
$selectedSeat = [];
$SelectedSegment = [];
if ($CustomerSysIdArray) {
foreach ($CustomerSysIdArray as $keys => $CustomerSysId) {
$seatNo = $seatArray[$keys];
$paxType = $paxTypeArr[$keys];
$SelectedSegment[] = $paxType . ': ' . $seatNo;
foreach ($sInfo as $k => $val) {
if ($val['seatNo'] == $seatNo) {
$selectedSeat[$segmentid][$CustomerSysId] = $val;
}
}
}
}
//echo '<pre>';print_r(implode(', ',$SelectedSegment));
if (!empty($selectedSeatSession)) {
foreach ($selectedSeatSession as $segid => $value) {
$index = 0;
if ($segid == $segmentid) {
foreach ($value as $CustomerId => $val) {
$seatNo = $seatArray[$index];
$itemsdata = $items[$seatNo];
if (trim($val['seatNo']) == trim($seatNo)) {
$selectedSeatSession[$segmentid][$CustomerId] = $val;
} else {
$selectedSeatSession[$segmentid][$CustomerId] = $itemsdata;
}
$index++;
}
} else {
if ($CustomerSysIdArray) {
foreach ($CustomerSysIdArray as $keys => $CustomerSysId) {
$seatNo = $seatArray[$keys];
foreach ($sInfo as $k => $val) {
if ($val['seatNo'] == $seatNo) {
$selectedSeatSession[$segmentid][$CustomerSysId] = $val;
}
}
}
}
}
}
} else {
$selectedSeatSession = $selectedSeat;
}
//echo '<pre>';print_r($selectedSeatSession);die;
$BagPrice = 0;
$InbBagPrice = 0;
$MealPrice = 0;
$InbMealPrice = 0;
$SeatPrice = 0;
if ($SelectedBaggSessionNew) {
foreach ($SelectedBaggSessionNew as $values) {
foreach ($values as $val) {
$BagPrice += $val['Price'];
}
}
}
if ($SelectedMealSessionNew) {
foreach ($SelectedMealSessionNew as $values) {
foreach ($values as $val) {
$MealPrice += $val['Price'];
}
}
}
if ($selectedSeatSession) {
foreach ($selectedSeatSession as $values) {
foreach ($values as $val) {
$SeatPrice += $val['amount'];
}
}
}
$MealFare = ($MealPrice + $InbMealPrice);
$BaggFare = ($BagPrice + $InbBagPrice);
$intNetPublishedFare = 0;
if ($FlightBookingData) {
foreach ($FlightBookingData as $value) {
$intNetPublishedFare += $value['FairRules']['PublishedFare'];
}
}
//echo '<pre>';print_r($SelectedMealSessionNewInb);
//echo '<pre>';print_r($SelectedBaggSessionNewInb);
$MobilePublishedFare = ($intNetPublishedFare + $MealFare + $BaggFare + $SeatPrice);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('Data' => $FlightBookingData, 'CurrencyTitle' => $this->CurrencyTitle, 'sessionFlightSearchParams' => $sessionFlightSearchParams, 'selectedSeatSession' => $selectedSeatSession, 'SelectedMealSessionNew' => $SelectedMealSessionNew, 'SelectedBaggSessionNew' => $SelectedBaggSessionNew, 'CurrencyRate' => $this->CurrencyRate));
$bodyText = $html->render('getflightfarequote.phtml');
$response = array('success' => true, 'message' => 'Done', 'SelectedSegment' => implode(', ', $SelectedSegment), 'selectedSeatSession' => json_encode($selectedSeatSession), 'MobilePublishedFare' => $this->CurrencyTitle . ' ' . number_format($MobilePublishedFare, 2), 'html' => $bodyText);
echo json_encode($response);
exit;
} else {
die('Page not found!');
}
}
public function savePassengerDetailsTripjackAction()
{
/* Disable Layout */
$this->_helper->layout->disableLayout();
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
try {
$sessionFlightSearchParams = json_decode($this->getRequest()->getParam('sessionFlightSearchParams'), true);
//$sessionFlightSearchParams = new Zend_Session_Namespace('sessionFlightSearchParams');
$editLeadId = isset($sessionFlightSearchParams['editLeadId']) ? $sessionFlightSearchParams['editLeadId'] : '';
$route = isset($sessionFlightSearchParams['route']) ? $sessionFlightSearchParams['route'] : '';
$interNationalSearch = isset($sessionFlightSearchParams['interNationalSearch']) ? $sessionFlightSearchParams['interNationalSearch'] : '';
$isgstapply = (trim($this->getRequest()->getParam('isgstapply'))) ? trim($this->getRequest()->getParam('isgstapply')) : 0;
$gstnnumber = (trim($this->getRequest()->getParam('gstnnumber'))) ? trim($this->getRequest()->getParam('gstnnumber')) : '';
$companyname = (trim($this->getRequest()->getParam('companyname'))) ? trim($this->getRequest()->getParam('companyname')) : '';
$gstemail = (trim($this->getRequest()->getParam('gstemail'))) ? trim($this->getRequest()->getParam('gstemail')) : '';
$gstphone = (trim($this->getRequest()->getParam('gstphone'))) ? trim($this->getRequest()->getParam('gstphone')) : '';
$gstaddress = (trim($this->getRequest()->getParam('gstaddress'))) ? trim($this->getRequest()->getParam('gstaddress')) : '';
$gststate = (trim($this->getRequest()->getParam('gststate'))) ? trim($this->getRequest()->getParam('gststate')) : '';
$ProposalTraceId = trim($this->getRequest()->getParam('ProposalTraceId'));
$intCustomerSysId = trim($this->getRequest()->getParam('customerId'));
$intOutBoundId = !empty($this->getRequest()->getParam('intOutBoundId')) ? json_decode($this->getRequest()->getParam('intOutBoundId'), true) : 0;
$intInBoundId = !empty($this->getRequest()->getParam('intInBoundId')) ? $this->getRequest()->getParam('intInBoundId') : 0;
//$BookingData = $intOutBoundId;
$ICSourceSysId = isset($intOutBoundId[0]['ICSourceSysId']) ? $intOutBoundId[0]['ICSourceSysId'] : 0;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($editLeadId, 'query');
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
if ($interNationalSearch == "1" && $route == "2") {
if($ICSourceSysId == 3){
$BookingData[] = isset($intOutBoundId[0]) ? $intOutBoundId[0] : '';
$InternationalData[] = isset($intOutBoundId[0]) ? $intOutBoundId[0] : '';
}else{
if(!isset($intOutBoundId[0]['InternationalData']) && empty($intOutBoundId[0]['InternationalData'])){
$intOutBoundId[0]['Fare'] = $intOutBoundId[0]['FairRules'];
}
$BookingData[] = isset($intOutBoundId[0]['InternationalData']) ? $intOutBoundId[0]['InternationalData'] : $intOutBoundId[0];
$InternationalData[] = isset($intOutBoundId[0]['InternationalData']) ? $intOutBoundId[0]['InternationalData'] : $intOutBoundId[0];
}
// echo "<pre>";
// print_r($interNationalSearch);
// print_r($route);
// echo "<pre>";
// print_r($BookingData);
// die;
$arrCommonInsVariables = isset($intOutBoundId[0]['arrCommonInsVariables']) ? $intOutBoundId[0]['arrCommonInsVariables'] : '';
$AirInvenSysIdArrNew = $this->insertInterNationalFlightNewAction($InternationalData, $arrCommonInsVariables, $AgentSysId, $ICSourceSysId);
} else {
$BookingData = $intOutBoundId;
}
//die('ss');
$SearchTraceId = $BookingData[0]['SearchTraceId'];
$isAdobrMandatory = $BookingData[0]['isAdobrMandatory'];
$isCdobrMandatory = $BookingData[0]['isCdobrMandatory'];
$isIdobrMandatory = $BookingData[0]['isIdobrMandatory'];
$IsPassMandatory = $BookingData[0]['IsPassMandatory'];
$IsSeriesFareData = isset($BookingData[0]['IsSeriesFareData']) ? $BookingData[0]['IsSeriesFareData'] : 0;
$ICSourceSysId = isset($BookingData[0]['ICSourceSysId']) ? $BookingData[0]['ICSourceSysId'] : 0;
$objFlight = new Travel_Model_TblFlight();
// $objFlight->strCondition = " TBQAirInvenSysId IN ('" . $intOutBoundId . "','" . $intInBoundId . "') ";
$arrSelectedFlightDetails = $BookingData; //$objFlight->getSelectedFlightDetails();
// $getflightData = $objFlight->getFlightSearchListForProposal("'" . $intOutBoundId . "','" . $intInBoundId . "'");
$FlightTempData = $objFlight->GetFlightTempData($SearchTraceId);
$arrData = json_decode($FlightTempData['APIBookingData'], true);
//$TPSysId = $FlightTempData['TPSysId'];
// echo "<pre>";
// print_r($BookingData);
// die;
$post = $this->getRequest()->getPost();
$AirInvenSysIdArr = $AirInvenSysIdArrNew;//json_decode($post['AirInvenSysIdArr'], true);
$SelectedBaggSessionNew = json_decode($post['SelectedBaggSessionNew'], true);
$SelectedMealSessionNew = json_decode($post['SelectedMealSessionNew'], true);
$selectedSeatSession = json_decode($post['selectedSeatSession'], true);
$mytrip_city_from = explode(',', $sessionFlightSearchParams['sourceCityText']);
$mytrip_city_to = explode(',', $sessionFlightSearchParams['destinationCityText']);
if ($route == 1) {
$sectorTitle = $mytrip_city_from[0] . '-' . $mytrip_city_to[0];
} else {
$sectorTitle = $mytrip_city_from[0] . '-' . $mytrip_city_to[0] . '-' . $mytrip_city_from[0];
}
$BagPrice = 0;
$InbBagPrice = 0;
$MealPrice = 0;
$InbMealPrice = 0;
$SeatPrice = 0;
if ($SelectedBaggSessionNew) {
foreach ($SelectedBaggSessionNew as $values) {
foreach ($values as $val) {
$BagPrice += $val['Price'];
}
}
}
if ($SelectedMealSessionNew) {
foreach ($SelectedMealSessionNew as $values) {
foreach ($values as $val) {
$MealPrice += $val['Price'];
}
}
}
if ($selectedSeatSession) {
foreach ($selectedSeatSession as $values) {
foreach ($values as $val) {
$SeatPrice += $val['amount'];
}
}
}
$MealFare = ($MealPrice + $InbMealPrice);
$BaggFare = ($BagPrice + $InbBagPrice);
$PublishedFare = 0;
$BaseAmount = 0;
$AgentCommisionEarned = 0;
$AgentCommisionEarnedGST = 0;
$AgencyMarkUp = 0;
$AgencyMarkUpGST = 0;
$GTXMarkUp = 0;
$GTXMarkUpGST = 0;
$TotalExtraCharge = 0;
$AgentServiceTaxAmount = 0;
$TotalExtraMarkup = 0;
$TotalExtraMarkupOnGST = 0;
$TotalDiscountValue = 0;
$FareSummary = [];
if ($BookingData) {
foreach ($BookingData as $k => $booking) {
$ExtraMarkup = isset($booking['FairRules']['ExtraMarkup']) ? $booking['FairRules']['ExtraMarkup'] : 0;
$ExtraMarkupOnGST = isset($booking['FairRules']['ExtraMarkupOnGST']) ? $booking['FairRules']['ExtraMarkupOnGST'] : 0;
$DiscountValue = isset($booking['FairRules']['DiscountValue']) ? $booking['FairRules']['DiscountValue'] : 0;
if ($booking['FairRules']['FareBreakdown']) {
foreach ($booking['FairRules']['FareBreakdown'] as $key => $value) {
$IntCommission = $value['IntCommission'];
$CommissionEarned = $value['CommissionEarned'];
$PBaseFare = $value['BaseFare'];
$MF = $value['MF']; //Management Fee
$YQ = $value['YQ']; //Fuel Surcharge
$AGST = $value['AGST']; //Airline GST Component
$MFT = $value['MFT']; //Management Fee Tax
$OT = $value['OT']; //Other Charges
$MU = $value['MU']; //Markup
$YR = $value['YR']; //Carrier Misc Fee
$otherCharge = ($YQ + $AGST + $MFT + $MF + $OT + $YR);
$FixedMarkUp = $value['FixedMarkUp'];
$GSTOnMarkUp = $value['GSTOnMarkUp'];
$intGTXMarkUp = $value['intGTXMarkUp'];
$GTXMarkUpGST = $value['GTXMarkUpGST'];
$intTotalGST = $value['intTotalGST'];
$apiMarkup = $value['apiMarkup'];
$CommEarned = $value['CommEarned'];
$customerDiscount = ($CommissionEarned - $IntCommission);
$GrandTotalBaseFare = (($PBaseFare - $CommEarned + $otherCharge + $FixedMarkUp + $apiMarkup + $intGTXMarkUp + $GTXMarkUpGST) - $customerDiscount);
$BaseAmount += $GrandTotalBaseFare;
$AgentServiceTaxAmount += $intTotalGST;
}
}
$PublishedFare += $booking['FairRules']['PublishedFare'];
$TotalExtraCharge += ($ExtraMarkup + $ExtraMarkupOnGST);
$TotalExtraMarkup += ($ExtraMarkup);
$TotalExtraMarkupOnGST += ($ExtraMarkupOnGST);
$TotalDiscountValue += ($DiscountValue);
//$BaseAmount += $booking['FairRules']['OfferedFare'];
$AgentCommisionEarned += $booking['FairRules']['CommEarned'];
}
}
$intOfferedFare = ($BaseAmount + $MealFare + $BaggFare + $SeatPrice - $TotalDiscountValue); //isset($post['intPayableFromWallet']) ? $post['intPayableFromWallet'] : '0';AirInvenSysIdArr
$totalCost = ($PublishedFare + $MealFare + $BaggFare + $SeatPrice - $TotalDiscountValue); //isset($post['intCostToCustomer']) ? $post['intCostToCustomer'] : '0';
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$adultCount = isset($sessionFlightSearchParams['adults']) ? $sessionFlightSearchParams['adults'] : 0;
$childCount = isset($sessionFlightSearchParams['child']) ? $sessionFlightSearchParams['child'] : 0;
$infantCount = isset($sessionFlightSearchParams['infant']) ? $sessionFlightSearchParams['infant'] : 0;
$totalPassengers = $adultCount + $childCount + $infantCount;
$Cities__ = [];
//encode travellers information in json to save created by Er Amit Kumar Dubey on 6 march 2017 at 11:21 AM
$departure_dates_string = $sessionFlightSearchParams['departure_dates'];
$sourceCityText = $sessionFlightSearchParams['sourceCityText'];
$destinationCityText = $sessionFlightSearchParams['destinationCityText'];
if($route == '3'){
$departure_dates_string = $sessionFlightSearchParams['departure_dates'][0];
if($strSourceAirportCode && $route == '3'){
foreach ($strSourceAirportCode as $key => $value) {
$string = isset($sourceCityText[$key])?$sourceCityText[$key]:'';
$sourceCityText__ = substr($string, 0, strpos($string, ','));
$string2 = isset($destinationCityText[$key])?$destinationCityText[$key]:'';
$destinationCityText__ = substr($string2, 0, strpos($string2, ','));
$Cities__[] = $sourceCityText__.'-'.$destinationCityText__;
}
}
}else{
$string = isset($sourceCityText)?$sourceCityText:'';
$sourceCityText__ = substr($string, 0, strpos($string, ','));
$string2 = isset($destinationCityText)?$destinationCityText:'';
$destinationCityText__ = substr($string2, 0, strpos($string2, ','));
$Cities__[] = $sourceCityText__.'-'.$destinationCityText__;
}
$explode_date = explode("/", $departure_dates_string);
$departure_dates = $explode_date[2] . '-' . $explode_date[1] . '-' . $explode_date[0];
$return_dates_string = $sessionFlightSearchParams['return_dates'];
$explode_return_date = explode("/", $return_dates_string);
$return_dates = (isset($sessionFlightSearchParams['return_dates']) && !empty($sessionFlightSearchParams['return_dates'])) ? $explode_return_date[2] . '-' . $explode_return_date[1] . '-' . $explode_return_date[0] : '1900-01-01';
$oneway_origin_text = isset($sessionFlightSearchParams['oneway_origin_text']) ? $sessionFlightSearchParams['oneway_origin_text'] : $sessionFlightSearchParams['sourceCityAirportCode'];
$oneway_destination_text = isset($sessionFlightSearchParams['oneway_destination_text']) ? $sessionFlightSearchParams['oneway_destination_text'] : $sessionFlightSearchParams['destinationCityAirportCode'];
$flight_class = $sessionFlightSearchParams['flight_class'];
$roomjson = array();
$roomjson[1]['route'] = $route;
$roomjson[1]['Adult'] = $adultCount;
$roomjson[1]['Child'] = $childCount;
$roomjson[1]['bedtype'] = '';
$roomjson[1]['departuredate'] = $sessionFlightSearchParams['departure_dates'];
$roomjson[1]['returndate'] = $return_dates_string;
$roomjson[1]['fromaircode'] = $oneway_origin_text;
$roomjson[1]['toaircode'] = $oneway_destination_text;
$roomjson[1]['airclass'] = $flight_class;
for ($c = 1; $c <= $childCount; $c++) {
$childsage = $infantCount;
$roomjson[$c]['Adult'] = $adultCount;
$roomjson[$c]['Child'] = $childCount;
$roomjson[$c]['ChildAge_' . $c] = $childsage;
$roomjson[$c]['bedtype'] = '';
$roomjson[$c]['departuredate'] = $sessionFlightSearchParams['departure_dates'];
$roomjson[$c]['returndate'] = $return_dates_string;
$roomjson[$c]['fromaircode'] = $oneway_origin_text;
$roomjson[$c]['toaircode'] = $oneway_destination_text;
$roomjson[$c]['airclass'] = $flight_class;
}
// echo "<pre>";print_r($roomjson);die('qqq');
$RoomInfoJson = json_encode($roomjson);
//encode travellers information in json to save created by Er Amit Kumar Dubey on 6 march 2017 at 11:21 AM
if (empty($adultCount)) {
throw new Exception("Adult count not found.");
}
$arrCustomer = array();
$arrCustomerMembers = array();
//echo $isgstapply;
$ForCustomerSession = array();
$key = 0;
for ($i = 1; $i <= $totalPassengers; $i++) {
$paxType = $post['paxType-' . $i];
$firstName = $post['passenger-firstname-' . $i];
$lastName = $post['passenger-lastname-' . $i];
$relation = $post['relation-' . $i];
$salutation = $post['passenger-salutation-' . $i];
$mobileNumber = $post['mobile_number'];
$email_id = $post['email_id'];
$passengerDob = !empty($post['passenger-dob-' . $i]) ? $post['passenger-dob-' . $i] : '01/01/1900';
$AdultpassengerpassengerDob = isset($post['Adultpassenger-dob-' . $i]) ? $post['Adultpassenger-dob-' . $i] : '';
$nationality = isset($post['passenger-nationality-' . $i]) ? $post['passenger-nationality-' . $i] : '';
$passengerPassportNo = isset($post['passenger-PassportNo-' . $i]) ? $post['passenger-PassportNo-' . $i] : '';
$passengerPassportExpiry = isset($post['passenger-PassportExpiry-' . $i]) ? $post['passenger-PassportExpiry-' . $i] : '';
$passporIssue = isset($post['passenger-passporIssue-' . $i]) ? $post['passenger-passporIssue-' . $i] : '';
if (!empty($passengerDob)) {
$passengerDob = explode("/", $passengerDob);
$passengerDob = $passengerDob[2] . "-" . $passengerDob[1] . "-" . $passengerDob[0];
}
if (!empty($AdultpassengerpassengerDob)) {
$AdultpassengerpassengerDob = explode("/", $AdultpassengerpassengerDob);
$AdultpassengerpassengerDob = $AdultpassengerpassengerDob[2] . "-" . $AdultpassengerpassengerDob[1] . "-" . $AdultpassengerpassengerDob[0];
}
if (!empty($passengerPassportExpiry)) {
$passengerPassportExpiry = explode("/", $passengerPassportExpiry);
$passengerPassportExpiry = $passengerPassportExpiry[2] . "-" . $passengerPassportExpiry[1] . "-" . $passengerPassportExpiry[0];
}
if (!empty($passporIssue)) {
$passporIssue = explode("/", $passporIssue);
$passporIssue = $passporIssue[2] . "-" . $passporIssue[1] . "-" . $passporIssue[0];
}
$passengerCity = !empty($post['passenger-city-1']) ? $post['passenger-city-1'] : 0;
$passengerCountry = !empty($post['passenger-country-1']) ? $post['passenger-country-1'] : 0;
$passengerAddress = $post['passenger-address-1'];
$AdultageCalculator = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->ageCalculator($departure_dates, $AdultpassengerpassengerDob);
if (empty($mobileNumber)) {
$response = array('succes' => false, 'msg' => 'Please enter mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (strlen($mobileNumber) != 10 && strlen($mobileNumber) != 11) {
$response = array('succes' => false, 'msg' => 'Please enter a valid mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (empty($email_id)) {
$response = array('succes' => false, 'msg' => 'Please enter Email ID.', 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (!filter_var($email_id, FILTER_VALIDATE_EMAIL)) {
$msg = "Email address is not valid.";
$response = array('success' => false, 'msg' => $msg, 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (empty($firstName)) {
$response = array('succes' => false, 'msg' => 'Please enter first name.', 'index' => 'passenger-firstname-' . $i);
echo json_encode($response);
exit;
}
if (empty($lastName)) {
$response = array('succes' => false, 'msg' => 'Please enter last name.', 'index' => 'passenger-lastname-' . $i);
echo json_encode($response);
exit;
}
if (empty($passengerDob)) {
$response = array('succes' => false, 'msg' => 'Please enter date of birth.', 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-nationality-' . $i]) && empty($nationality) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please select Nationality.', 'index' => 'passenger-nationality-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportNo-' . $i]) && empty($passengerPassportNo) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passenger passport no.', 'index' => 'passenger-PassportNo-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-passporIssue-' . $i]) && empty($passporIssue) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport issue date.', 'index' => 'passenger-nationality-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && empty($passengerPassportExpiry) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && strtotime($departure_dates) > strtotime($passengerPassportExpiry) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport valid expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if ($paxType == 1 && $isAdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDatesAD = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$AdultAge = date_diff(date_create($passengerDob), date_create($departureDatesAD))->y;
if ($AdultAge < 12) {
$response = array('succes' => false, 'msg' => "Adult age should be greater than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 2 && $isCdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$childAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($childAge < 2 || $childAge >= 12) {
$response = array('succes' => false, 'msg' => "Child age should be 2 years or less than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 3 && $isIdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$infantAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($infantAge >= 2) {
$response = array('succes' => false, 'msg' => "Infant age should be less than 2 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (empty($passengerCity) && $ICSourceSysId == 3) {
$response = array('succes' => false, 'msg' => 'Please enter City.', 'index' => 'passenger-city-1');
echo json_encode($response);
exit;
}
if (empty($passengerAddress) && $ICSourceSysId == 3) {
$response = array('succes' => false, 'msg' => 'Please enter Address.', 'index' => 'passenger-address-1');
echo json_encode($response);
exit;
}
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$intLeadSourceSysId = $this->_crmcustomerObj->getLeadSource($AgencySysId, 'Agency-Proposal'); // for Master LeadSouce Creation
$leadsource = (isset($intLeadSourceSysId[0]['LeadSourceSysId']) && !empty($intLeadSourceSysId[0]['LeadSourceSysId'])) ? $intLeadSourceSysId[0]['LeadSourceSysId'] : 0;
$this->_leadstageObj = new Travel_Model_TblLeadStage();
$getStageList = $this->_leadstageObj->getLeadStageSatus('New');
$leadstage = (isset($getStageList[0]['TPStatusSysId']) && !empty($getStageList[0]['TPStatusSysId'])) ? $getStageList[0]['TPStatusSysId'] : 0;
if ($i == 1 && $relation == 0) {
$arrCustomer = $ForCustomerSession[$key] = array(
'AgencySysId' => $AgencySysId, 'CRMCustSysId' => 0, 'EmailId' => $email_id, 'Salutation' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgentSysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'PassportIssue' => $passporIssue, 'PassportNationality' => $nationality, 'PassportNo' => $passengerPassportNo, 'PassportExpiry' => $passengerPassportExpiry, 'Address' => $passengerAddress, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0', 'CitySysId' => $passengerCity,
'LeadSourceSysId' => $leadsource, 'LeadStageSysId' => $leadstage, 'GstNumber' => $gstnnumber, 'GstCompany' => $companyname,
'GstEmail' => $gstemail, 'GstPhone' => $gstphone, 'GstAddress' => $gstaddress, 'GstState' => $gststate
);
// echo "<pre>";
// print_r($arrCustomer); CitySysId
// die('c');
try {
if (empty($intCustomerSysId)) {
$objGest = new Travel_Model_Tbltbbcuser();
$arrCustomer['ContactNumber'] = $mobileNumber;
$intCustomerSysId = $objGest->createAgencyCustomer($arrCustomer, $AgencySysId);
} else {
$objGest = new Travel_Model_Tbltbbcuser();
$arrCustomer['ContactNumber'] = $mobileNumber;
$intCustomerSysId = $objGest->createAgencyCustomer($arrCustomer, $AgencySysId);
}
} catch (Zend_Exception $e) {
print_r($e->getMessage());
exit;
}
//echo '<pre>';print_r($arrCustomer);die; CountrySysId
} else {
if (!empty($passengerPassportNo)) {
$arrCustomerMembers[] = $ForCustomerSession[$key] = array(
'AgencySysId' => $AgencySysId, 'EmailId' => $email_id, 'Title' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgentSysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'PassportIssue' => $passporIssue, 'PassportNationality' => $nationality, 'PassportNo' => $passengerPassportNo, 'PassportExpiry' => $passengerPassportExpiry, 'Address' => $passengerAddress, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0', 'CitySysId' => $passengerCity
);
} else {
$arrCustomerMembers[] = $ForCustomerSession[$key] = array(
'AgencySysId' => $AgencySysId, 'EmailId' => $email_id, 'Title' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgentSysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'Address' => $passengerAddress, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE, 'PassportIssue' => EMPTY_DATE, 'PassportExpiry' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0', 'CitySysId' => '0'
);
}
}
$key++;
}
if ($BookingData && $isgstapply == 0) {
foreach ($BookingData as $values) {
if (trim($values['isGSTMandatory']) == 1) {
$response = array('succes' => false, 'msg' => 'GST mandatory for this flight.', 'index' => 'gstnnumber');
echo json_encode($response);
exit;
}
}
}
if ($isgstapply == 1) {
if (empty(trim($gstnnumber))) {
$response = array('succes' => false, 'msg' => 'Please enter GSTIN number.', 'index' => 'gstnnumber');
echo json_encode($response);
exit;
}
$is_valid_gstin = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->is_valid_gstin($gstnnumber);
if ($is_valid_gstin == 0) {
$response = array('succes' => false, 'msg' => 'Enter Valid GST Number', 'index' => 'gstnnumber');
echo json_encode($response);
exit;
}
if (empty(trim($companyname))) {
$response = array('succes' => false, 'msg' => 'Please enter company name.', 'index' => 'companyname');
echo json_encode($response);
exit;
}
if (empty(trim($gstemail))) {
$response = array('succes' => false, 'msg' => 'Please enter registered email id.', 'index' => 'gstemail');
echo json_encode($response);
exit;
}
if (!filter_var($gstemail, FILTER_VALIDATE_EMAIL)) {
$msg = "GST Email address is not valid.";
$response = array('success' => false, 'msg' => $msg, 'index' => 'gstemail');
echo json_encode($response);
exit;
}
if (empty(trim($gstphone))) {
$response = array('succes' => false, 'msg' => 'Please enter registered phone.', 'index' => 'gstphone');
echo json_encode($response);
exit;
}
if (strlen($gstphone) != 10 && strlen($gstphone) != 11) {
$response = array('succes' => false, 'msg' => 'Please enter a valid GST phone number.', 'index' => 'gstphone');
echo json_encode($response);
exit;
}
if (empty(trim($gstaddress))) {
$response = array('succes' => false, 'msg' => 'Please enter GST address.', 'index' => 'gstaddress');
echo json_encode($response);
exit;
}
}
if (empty($arrCustomer)) {
//throw new Exception('Customer Information not found.');
}
//$objFlight = new Travel_Model_TblFlight();
if (empty($intCustomerSysId)) {
throw new Exception('Customer Id not found.');
}
$arrCustomerMembersIds = array();
if (!empty($arrCustomerMembers) ) {
$arrCustomerMembersIds = $objFlight->createAgencyCustomerMembers($arrCustomerMembers, $AgencySysId, $intCustomerSysId);
}
// echo "<pre>";
// print_r($arrCustomerMembersIds);
// print_r($arrCustomerMembers);
// die('m');
if (isset($IsSeriesFareData) && $IsSeriesFareData == 1) {
$crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$arrAgentDetail = $crmcusttravelplan->getAgentDetails($AgentSysId);
$SecurityKey = $arrAgentDetail['SecurityKey'];
$sessionFlightSearchParams['SecurityKey'] = $SecurityKey;
$checkInventory = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->CheckInventorycheckRetriveUpdateNew($BookingData, $sessionFlightSearchParams);
// $RetriveUpdateNew = new Zend_Session_Namespace('RetriveUpdateNew');
// $checkInventory = $RetriveUpdateNew->params;
if ($checkInventory[0]['Status'] == 1) {
$BookingData[0]['bookingId'] = isset($checkInventory[0]['data']['RefNo']) ? $checkInventory[0]['data']['RefNo'] : 0;
$intOutBoundId[0]['bookingId'] = isset($checkInventory[0]['data']['RefNo']) ? $checkInventory[0]['data']['RefNo'] : 0;
} else {
$checkInventoryResponse = array('success' => $checkInventory[0]['Status'], 'status' => $checkInventory[0]['Status'], 'msg' => ($checkInventory[0]['message'] != '') ? $checkInventory[0]['message'] : 'Seats are no available.');
echo json_encode($checkInventoryResponse);
exit;
}
if (isset($checkInventory[1]['Status']) && !empty($checkInventory[1]) && $route == 2) {
if ($checkInventory[1]['Status'] == 1) {
$BookingData[1]['bookingId'] = isset($checkInventory[1]['data']['RefNo']) ? $checkInventory[1]['data']['RefNo'] : 0;
$intOutBoundId[1]['bookingId'] = isset($checkInventory[1]['data']['RefNo']) ? $checkInventory[1]['data']['RefNo'] : 0;
} else {
$checkInventoryResponse = array('success' => $checkInventory[1]['Status'], 'status' => $checkInventory[1]['Status'], 'msg' => ($checkInventory[1]['message'] != '') ? $checkInventory[1]['message'] : 'Seats are no available.');
echo json_encode($checkInventoryResponse);
exit;
}
}
}
// echo "<pre>";
// print_r($BookingData);
// exit;
if (!empty($intCustomerSysId)) {
$currentDate = date('Y-m-d H:i:s');
// Travel Plan Data....
if (empty($editLeadId)) {
$PlanBookingId = "Q/" . date('y');
$arrTravelPlan['PlanBookingId'] = $PlanBookingId;
$arrTravelPlan['Price'] = $intOfferedFare;
$arrTravelPlan['TotalCost'] = $totalCost;
$arrTravelPlan['NetPrice'] = $totalCost;
$arrTravelPlan['AgencyMarkUp'] = ($AgentCommisionEarned + $TotalExtraMarkup);
$arrTravelPlan['AgentServiceTaxAmount'] = ($AgentServiceTaxAmount + $TotalExtraMarkupOnGST);
// $arrTravelPlan['AgencyMarkUp'] = $AgentCommisionEarned;
// $arrTravelPlan['AgentServiceTaxAmount'] = $AgentServiceTaxAmount;
$arrTravelPlan['AgencySysId'] = $AgencySysId;
$arrTravelPlan['AgentSysId'] = $AgentSysId;
$arrTravelPlan['CreatorSysId'] = $AgentSysId;
$arrTravelPlan['PlanType'] = '1'; // For Flight
$arrTravelPlan['SupplierSysId'] = 3;
$arrTravelPlan['StatusType'] = 2;
$arrTravelPlan['InventoryType'] = 1;
$arrTravelPlan['CurrencyType'] = $BookingData[0]['CurrencyType'];
$arrTravelPlan['RoomInfoJson'] = $RoomInfoJson;
$arrTravelPlan['SourcePlaceSysId'] = $BookingData[0]['SourcePlaceSysId'];
$arrTravelPlan['DestinationPlacesSysId'] = $BookingData[0]['DestPlaceSysId'];
$arrTravelPlan['SourcePlaces'] = $BookingData[0]['SourcePlaceName'];
$arrTravelPlan['DestinationPlaces'] = $BookingData[0]['DestPlaceName'];
$arrTravelPlan['Cities'] = implode(',',$Cities__);
$arrTravelPlan['IsHotelFromApi'] = 1;
$arrTravelPlan['CustomerSysId'] = $intCustomerSysId;
$arrTravelPlan['StartDate'] = $departure_dates;
$arrTravelPlan['ValidTill'] = $return_dates;
$arrTravelPlan['CreateDate'] = $currentDate;
$arrTravelPlan['UpdateDate'] = $currentDate;
$arrTravelPlan['ApproveDate'] = $currentDate;
$arrTravelPlan['IsMarkForDel'] = 0;
$arrTravelPlan['IsActive'] = 1;
$arrTravelPlan['IsAprooved'] = 1;
$arrTravelPlan['LeadSourceSysId'] = $leadsource;
$arrTravelPlan['Title'] = !empty($sectorTitle) ? $sectorTitle : 'NA';
$TPSysId = $this->_crmcusttravelplan->addCustomerTravelPlanQuery($arrTravelPlan);
//$TPSysId = $objFlight->insertTravelPlan($arrTravelPlan);
} else {
$TPSysId = $editLeadId;
}
$PlanBookingId = "Q/" . date('y');
$arrTravelPlan['PlanBookingId'] = $PlanBookingId;
$arrTravelPlan['MasterTPSysId'] = $TPSysId;
$arrTravelPlan['Price'] = $intOfferedFare;
$arrTravelPlan['TotalCost'] = $totalCost;
$arrTravelPlan['NetPrice'] = $totalCost;
$arrTravelPlan['AgencyMarkUp'] = ($AgentCommisionEarned + $TotalExtraMarkup);
$arrTravelPlan['AgentServiceTaxAmount'] = ($AgentServiceTaxAmount + $TotalExtraMarkupOnGST);
// $arrTravelPlan['AgencyMarkUp'] = $AgentCommisionEarned;
// $arrTravelPlan['AgentServiceTaxAmount'] = $AgentServiceTaxAmount;
$arrTravelPlan['VersionId'] = 1;
$arrTravelPlan['AgencySysId'] = $AgencySysId;
$arrTravelPlan['AgentSysId'] = $AgentSysId;
$arrTravelPlan['CreatorSysId'] = $AgentSysId;
$arrTravelPlan['PlanType'] = '1'; // For Flight
$arrTravelPlan['SupplierSysId'] = 3;
$arrTravelPlan['StatusType'] = 4;
$arrTravelPlan['InventoryType'] = 1;
$arrTravelPlan['RoomInfoJson'] = $RoomInfoJson;
$arrTravelPlan['CustomerSysId'] = $intCustomerSysId;
$arrTravelPlan['CurrencyType'] = $BookingData[0]['CurrencyType'];
$arrTravelPlan['RoomInfoJson'] = $RoomInfoJson;
$arrTravelPlan['SourcePlaceSysId'] = $BookingData[0]['SourcePlaceSysId'];
$arrTravelPlan['DestinationPlacesSysId'] = $BookingData[0]['DestPlaceSysId'];
$arrTravelPlan['SourcePlaces'] = $BookingData[0]['SourceAirportCode'];
$arrTravelPlan['DestinationPlaces'] = $BookingData[0]['DestAirportCode'];
$arrTravelPlan['Cities'] = implode(',',$Cities__);
$arrTravelPlan['IsHotelFromApi'] = 1;
//$arrTravelPlan['TemplatePckSysId'] = '';
$arrTravelPlan['ProposalEmailTo'] = !empty($email_id) ? trim($email_id) : 0;
$arrTravelPlan['StartDate'] = $departure_dates;
$arrTravelPlan['ValidTill'] = $return_dates;
$arrTravelPlan['CreateDate'] = $currentDate;
$arrTravelPlan['UpdateDate'] = $currentDate;
$arrTravelPlan['ApproveDate'] = $currentDate;
$arrTravelPlan['IsMarkForDel'] = 0;
$arrTravelPlan['IsActive'] = 1;
$arrTravelPlan['IsAprooved'] = 1;
$arrTravelPlan['LeadSourceSysId'] = $leadsource;
$arrTravelPlan['Title'] = !empty($sectorTitle) ? $sectorTitle : 'NA';
// echo "<pre>";print_r($arrTravelPlan);
// exit;
//$TPSysId = $objFlight->insertTravelPlan($arrTravelPlan);
$TPSysId = $this->_crmcusttravelplan->addCustomerTravelPlan($arrTravelPlan);
$arrPaxData = array();
foreach ($arrSelectedFlightDetails as $ks => $flightRounds) {
if (!empty($TPSysId)) {
if (!empty($arrCustomer) ) {
$arrPaxData['TPSysId'] = $TPSysId;
$arrPaxData['VersionId'] = '1';
$arrPaxData['CustomerSysId'] = $intCustomerSysId;
$arrPaxData['MemberSysId'] = 0;
$arrPaxData['UpdateDate'] = date('Y-m-d H:i:s');
$arrPaxData['IsApproved'] = '1';
$arrPaxData['IsActive'] = '1';
$arrPaxData['IsMarkForDelete'] = '0';
$arrPaxData['IsReturn'] = $ks;
$arrPaxData['paxType'] = 1;
$arrPaxData['GstNumber'] = $gstnnumber;
$arrPaxData['GstCompany'] = $companyname;
$arrPaxData['GstEmail'] = $gstemail;
$arrPaxData['GstPhone'] = $gstphone;
$arrPaxData['GstAddress'] = $gstaddress;
$arrPaxData['GstState'] = $gststate;
$arrPaxData['isgstapply'] = $isgstapply;
$objFlight->insertTravelPlanPax($arrPaxData);
}
if (!empty($arrCustomerMembersIds) ) {
$VersionId = 2;
foreach ($arrCustomerMembersIds as $kkk => $memberSysId) {
$Members = ($arrCustomerMembers[$kkk]) ? $arrCustomerMembers[$kkk] : '';
// echo "<pre>";
// print_r($Members);
$arrPaxData['TPSysId'] = $TPSysId;
$arrPaxData['VersionId'] = $VersionId;
$arrPaxData['CustomerSysId'] = $intCustomerSysId;
$arrPaxData['MemberSysId'] = $memberSysId;
$arrPaxData['UpdateDate'] = date('Y-m-d H:i:s');
$arrPaxData['IsApproved'] = '1';
$arrPaxData['IsActive'] = '1';
$arrPaxData['IsMarkForDelete'] = '0';
$arrPaxData['IsReturn'] = $ks;
$arrPaxData['paxType'] = ($Members) ? $Members['paxType'] : 0;
$arrPaxData['GstNumber'] = $gstnnumber;
$arrPaxData['GstCompany'] = $companyname;
$arrPaxData['GstEmail'] = $gstemail;
$arrPaxData['GstPhone'] = $gstphone;
$arrPaxData['GstAddress'] = $gstaddress;
$arrPaxData['GstState'] = $gststate;
$arrPaxData['isgstapply'] = $isgstapply;
$arrPaxData['FirstName'] = $Members['FirstName'];
$arrPaxData['LastName'] = $Members['LastName'];
$arrPaxData['Title'] = $Members['Title'];
$arrPaxData['Salutation'] = isset($Members['Title'])?$Members['Title']:0;
$arrPaxData['DOB'] = (isset($Members['DOB']) && !empty($Members['DOB'])) ? $Members['DOB'] : NULL;
$arrPaxData['passportnoexpiry'] = !empty($Members['PassportExpiry']) ? $Members['PassportExpiry'] : NULL;
$arrPaxData['passporIssue'] = !empty($Members['PassportIssue']) ? $Members['PassportIssue'] : NULL;
$arrPaxData['PassportNationality'] = !empty($Members['PassportNationality']) ? $Members['PassportNationality'] : '';
$arrPaxData['passportno'] = !empty($Members['PassportNo']) ? $Members['PassportNo'] : '';
// echo "<pre>";
// print_r($arrPaxData);
// die('sssss');
$objFlight->insertTravelPlanPax($arrPaxData);
$VersionId++;
}
}
}
}
// Travel Itenary Data....
$arrPlanItenary['TPSysId'] = $TPSysId;
$arrPlanItenary['Sequence'] = 1;
$arrPlanItenary['AgencySysId'] = $AgencySysId;
$arrPlanItenary['StartDate'] = $currentDate;
$arrPlanItenary['EndDate'] = $currentDate;
$arrPlanItenary['CreateDate'] = $currentDate;
$arrPlanItenary['UpdateDate'] = $currentDate;
$arrPlanItenary['IsActive'] = 1;
$TPIntSysId = $objFlight->insertTravelPlanItenary($arrPlanItenary);
// echo "<pre>";
// print_r($BookingData);
// die('sssss');
// Travel Plan Air Data....
// if (!empty($BookingData) > 0) {
// $intRounds = 0;
// $arrIntTpAirId = array();
// foreach ($BookingData as $keys => $flightRounds) {
// $AirInvenSysId = isset($AirInvenSysIdArr[$keys]) ? $AirInvenSysIdArr[$keys] : 0;
// $Segments = $flightRounds['Segments'];
// $SeatPriceSeg = 0;
// $MealPriceSeg = 0;
// $BagPriceSeg = 0;
// foreach ($Segments as $seg) {
// $segmentid = $seg['segmentid'];
// $SelectedBagg = isset($SelectedBaggSessionNew[$segmentid]) ? $SelectedBaggSessionNew[$segmentid] : [];
// $SelectedMeal = isset($SelectedMealSessionNew[$segmentid]) ? $SelectedMealSessionNew[$segmentid] : [];
// $SelectedSeat = isset($selectedSeatSession[$segmentid]) ? $selectedSeatSession[$segmentid] : [];
// if (!empty($SelectedSeat)) {
// foreach ($SelectedSeat as $val) {
// $SeatPriceSeg += $val['amount'];
// }
// }
// if (!empty($SelectedMeal)) {
// foreach ($SelectedMeal as $val) {
// $MealPriceSeg += $val['Price'];
// }
// }
// if (!empty($SelectedBagg)) {
// foreach ($SelectedBagg as $val) {
// $BagPriceSeg += $val['Price'];
// }
// }
// }
// //if($intRounds >0){
// // $strGoingFlightFrom = $flightRounds['DestAirportCode'];
// // $strGoingFlightTo = $flightRounds['SourceAirportCode'];
// //}else{
// $strGoingFlightFrom = $flightRounds['SourceAirportCode'];
// $strGoingFlightTo = $flightRounds['DestAirportCode'];
// //}
// //$AirInvenSysId = $flightRounds['AirInvenSysId'];
// $AirlineSysId = $flightRounds['AirlineSysId'];
// $StopCount = $flightRounds['Stops'];
// $AirlineName = $flightRounds['AirlineName'];
// $FlightNumber = $flightRounds['FlightNumber'];
// $PublishedFare = $flightRounds['PublishedFare'];
// $strArrivalTime = $flightRounds['LocalToTime'];
// $strDepartureTime = $flightRounds['LocalFromTime'];
// $intAdultsCT = $sessionFlightSearchParams['adults'];
// $intChildsCT = $sessionFlightSearchParams['child'];
// $intInfantsCT = $sessionFlightSearchParams['infant'];
// //$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
// $intTatalPaxCTForMarkUp = $intAdultsCT + $intChildsCT + $intInfantsCT;
// if ($interNationalSearch) {
// $intCountryCode = "INTERNATIONAL";
// } else {
// $intCountryCode = "IN";
// }
// $DiscountValue = ($flightRounds['FairRules']['DiscountValue']) ? $flightRounds['FairRules']['DiscountValue'] : 0;
// $ExtraMarkup = ($flightRounds['FairRules']['ExtraMarkup']) ? $flightRounds['FairRules']['ExtraMarkup'] : 0;
// $ExtraMarkupOnGST = ($flightRounds['FairRules']['ExtraMarkupOnGST']) ? $flightRounds['FairRules']['ExtraMarkupOnGST'] : 0;
// $intPublishedFare = ($flightRounds['FairRules']['PublishedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg - $DiscountValue);
// //$intOfferedFare = ($flightRounds['FairRules']['OfferedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
// $intCommissionEarned = $flightRounds['FairRules']['CommEarned'];
// $intPLBEarned = $flightRounds['FairRules']['PLBEarned'];
// $intIncentiveEarned = $flightRounds['FairRules']['IncentiveEarned'];
// $intGTXMarkUp = $flightRounds['FairRules']['intGTXMarkUp'];
// $GTXMarkUpGST = $flightRounds['FairRules']['GTXMarkUpGST'];
// $intAgencyFixMarkUp = $flightRounds['FairRules']['FixedMarkUp'];
// $apiMarkup = ($flightRounds['FairRules']['apiMarkup']) ? $flightRounds['FairRules']['apiMarkup'] : 0;
// $intTotalGST = ($flightRounds['FairRules']['intTotalGST']) ? $flightRounds['FairRules']['intTotalGST'] : 0;
// $BaseAmount = 0;
// $AgentServiceTaxAmount = 0;
// if ($flightRounds['FairRules']['FareBreakdown']) {
// foreach ($flightRounds['FairRules']['FareBreakdown'] as $key => $value) {
// //////////////////////////////////
// $IntCommission_ = $value['IntCommission'];
// $CommissionEarned_ = $value['CommissionEarned'];
// $PBaseFare_ = $value['BaseFare'];
// $DiscountValue_ = $value['DiscountValue'];
// $MF = $value['MF']; //Management Fee
// $YQ = $value['YQ']; //Fuel Surcharge
// $AGST = $value['AGST']; //Airline GST Component
// $MFT = $value['MFT']; //Management Fee Tax
// $OT = $value['OT']; //Other Charges
// $MU = $value['MU']; //Markup
// $YR = $value['YR']; //Carrier Misc Fee
// $otherCharge_ = ($YQ + $AGST + $MFT + $MF + $OT + $YR);
// $FixedMarkUp_ = $value['FixedMarkUp'];
// $GSTOnMarkUp = $value['GSTOnMarkUp'];
// $intGTXMarkUp_ = $value['intGTXMarkUp'];
// $GTXMarkUpGST_ = $value['GTXMarkUpGST'];
// $intTotalGST_ = $value['intTotalGST'];
// $apiMarkup_ = $value['apiMarkup'];
// $CommEarned_ = $value['CommEarned'];
// $customerDiscount_ = ($CommissionEarned_ - $IntCommission_);
// $GrandTotalBaseFare = (($PBaseFare_ - $CommEarned_ + $otherCharge_ + $FixedMarkUp_ + $apiMarkup_ + $intGTXMarkUp_ + $GTXMarkUpGST_) - $customerDiscount_);
// $BaseAmount += $GrandTotalBaseFare - $DiscountValue_;
// $AgentServiceTaxAmount += $intTotalGST_;
// }
// }
// $TotalExtraCharge = ($ExtraMarkup + $ExtraMarkupOnGST);
// $intOfferedFare = ($BaseAmount + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
// $totalCost = ($intPublishedFare);
// // echo "<pre>";
// // print_r($totalCost);
// // die('d');
// $AgencyMarkUp += ($intAgencyFixMarkUp + $apiMarkup);
// $GTXMarkUp += ($GTXMarkUpGST);
// $AgentCommisionEarned += ($intCommissionEarned);
// $BaseAmount += ($intOfferedFare);
// $PublishedFare += ($intPublishedFare);
// $arrPlanAir['TPIntSysId'] = $TPIntSysId;
// $arrPlanAir['SourceAirportCode'] = $strGoingFlightFrom;
// $arrPlanAir['DestAirportCode'] = $strGoingFlightTo;
// $arrPlanAir['LocalFromTime'] = $strArrivalTime;
// $arrPlanAir['LocalToTime'] = $strDepartureTime;
// $arrPlanAir['FromUTCTime'] = $strArrivalTime;
// $arrPlanAir['ToUTCTime'] = $strDepartureTime;
// $arrPlanAir['SupplierSysId'] = 3;
// $arrPlanAir['IsActive'] = 1;
// $arrPlanAir['IsMarkForDel'] = 0;
// $arrPlanAir['FlightNumber'] = $FlightNumber;
// $arrPlanAir['Cost'] = $intOfferedFare;
// $arrPlanAir['TotalCost'] = $totalCost;
// //$arrPlanAir['TotalCost'] = $intPublishedFare;
// $arrPlanAir['XServiceTaxAmount'] = 0; //$intSTaxOnBasePrice;
// $arrPlanAir['GTXServiceTaxAmount'] = 0; //$intSTaxOnGTXMarkUp;
// $arrPlanAir['AgentServiceTaxAmount'] = $AgentServiceTaxAmount;
// $arrPlanAir['AgentsCustomServiceTaxAmount'] = 0;
// $arrPlanAir['MarkUp'] = 0;
// $arrPlanAir['AgencyMarkUp'] = ($intAgencyFixMarkUp + $apiMarkup);
// //$arrPlanAir['AgencyMarkUp'] = $intAgencyFixMarkUp;
// $arrPlanAir['GTXMarkup'] = $intGTXMarkUp;
// $arrPlanAir['GTXCommission'] = 0;
// $arrPlanAir['AgencyCommission'] = $intCommissionEarned;
// $arrPlanAir['ExtraMarkup'] = $ExtraMarkup;
// $arrPlanAir['ExtraMarkupOnGST'] = $ExtraMarkupOnGST;
// $arrPlanAir['Taxes'] = 0;
// $arrPlanAir['TDS'] = 0;
// $arrPlanAir['AirlineSysId'] = $AirlineSysId;
// $arrPlanAir['ICSourceSysId'] = $ICSourceSysId;
// $arrPlanAir['InvnItemSysId'] = $AirInvenSysId;
// $arrPlanAir['IsFromAPI'] = 1;
// $arrPlanAir['StopCount'] = $StopCount;
// $arrPlanAir['AdultPax'] = $adultCount;
// $arrPlanAir['ChildPax'] = $childCount;
// $arrPlanAir['InfentPax'] = $infantCount;
// $arrPlanAir['TotalPax'] = $totalPassengers;
// $arrPlanAir['TripType'] = $route;
// $arrPlanAir['IsSelectedOnPkg'] = 1;
// $arrPlanAir['CreateDate'] = date('Y-m-d H:i:s');
// $arrPlanAir['UpdateDate'] = date('Y-m-d H:i:s');
// $arrPlanAir['AgencySysId'] = $AgencySysId;
// $intTpAirId = $objFlight->insertTravelPlanIAir($arrPlanAir);
// $intRounds++;
// $arrIntTpAirId[] = $intTpAirId;
// }
// }
if (!empty($BookingData) ) {
$intRounds = 0;
$arrIntTpAirId = array();
foreach ($BookingData as $keys => $flightRounds) {
$IsNewMigration = isset($flightRounds['IsNewMigration']) ? $flightRounds['IsNewMigration'] : 0;
$IsTJFlightAPI = isset($flightRounds['IsTJFlightAPI']) ? $flightRounds['IsTJFlightAPI'] : 0;
$Currency = $flightRounds['FairRules']['Currency'];
$currencySysId = $flightRounds['FairRules']['currencySysId'];
$BaseFairRules = $flightRounds['FairRules']['BaseFare'];
$Tax = !empty($flightRounds['FairRules']['Tax']) ? $flightRounds['FairRules']['Tax'] : 0;
$YQTax = !empty($flightRounds['FairRules']['YQTax']) ? $flightRounds['FairRules']['YQTax'] : 0;
$AdditionalTxnFeeOfrd = $flightRounds['FairRules']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $flightRounds['FairRules']['AdditionalTxnFeePub'];
$OtherCharges = $flightRounds['FairRules']['OtherCharges'];
$Discount = $flightRounds['FairRules']['Discount'];
$PublishedFare = $flightRounds['FairRules']['PublishedFare'];
$CommissionEarned = isset($flightRounds['FairRules']['CommissionEarned']) ? $flightRounds['FairRules']['CommissionEarned'] : 0;
//$CommissionEarned = isset($flightRounds['FairRules']['CommEarned']) ? $flightRounds['FairRules']['CommEarned'] : 0;
$PLBEarned = $flightRounds['FairRules']['PLBEarned'];
$IncentiveEarned = $flightRounds['FairRules']['IncentiveEarned'];
$OfferedFare = $flightRounds['FairRules']['OfferedFare'];
$TdsOnCommission = isset($flightRounds['FairRules']['TdsOnCommission']) ? $flightRounds['FairRules']['TdsOnCommission'] : 0;
$TdsOnPLB = $flightRounds['FairRules']['TdsOnPLB'];
$TdsOnIncentive = $flightRounds['FairRules']['TdsOnIncentive'];
$ServiceFee = $flightRounds['FairRules']['ServiceFee'];
$UpdateDate = date('Y-m-d H:i:s');
$CreateDate = date('Y-m-d H:i:s');
$ApproveBy = $AgencySysId;
$ApprovalDate = date('Y-m-d H:i:s');
$arrFairRules = array(
"TBOAirInvenAPISysId" => "",
"Currency" => $currencySysId,
"BaseFare" => $BaseFairRules,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"PublishedFare" => $PublishedFare,
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"OfferedFare" => $OfferedFare,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive,
"UpdateDate" => $UpdateDate,
"CreateDate" => $CreateDate,
"IsActive" => 1,
"IsMarkForDel" => 1
);
//$AirInvenSysId = isset($AirInvenSysIdArr[$keys]) ? $AirInvenSysIdArr[$keys] : 0; TdsOnCommission
if ($interNationalSearch == "1" && $route == "2") {
$Segments = $flightRounds['Segments'];
} else {
$Segments = $flightRounds['Segments'];
}
$SeatPriceSeg = 0;
$MealPriceSeg = 0;
$BagPriceSeg = 0;
$FlyingMinutes = 0;
foreach ($Segments as $seg) {
$segmentid = $seg['segmentid'];
$SelectedBagg = isset($SelectedBaggSessionNew[$segmentid]) ? $SelectedBaggSessionNew[$segmentid] : [];
$SelectedMeal = isset($SelectedMealSessionNew[$segmentid]) ? $SelectedMealSessionNew[$segmentid] : [];
$SelectedSeat = isset($selectedSeatSession[$segmentid]) ? $selectedSeatSession[$segmentid] : [];
if (!empty($SelectedSeat)) {
foreach ($SelectedSeat as $val) {
$SeatPriceSeg += $val['amount'];
}
}
if (!empty($SelectedMeal)) {
foreach ($SelectedMeal as $val) {
$MealPriceSeg += $val['Price'];
}
}
if (!empty($SelectedBagg)) {
foreach ($SelectedBagg as $val) {
$BagPriceSeg += $val['Price'];
}
}
$strBaggage = $seg['Baggage'];
$strCabinBaggage = $seg['CabinBaggage'];
$TripIndicator = $seg['TripIndicator'];
$SegmentIndicator = $seg['TripIndicator'];
$AirlineName = $seg['AirlineName'];
$FlightNumber = $seg['SegFlightNumber'];
$FareClass = $seg['FareClass'];
$originAirportCode = $seg['originAirportCode'];
$originDepTime = $seg['originDepTime'];
$destinationAirportCode = $seg['destinationAirportCode'];
$destinationArrTime = $seg['destinationArrTime'];
$Duration = $seg['Duration'];
$GroundTime = $seg['GroundTime'];
$Mile = $seg['Mile'];
$StopOver = $seg['StopOver'];
$StopPoint = $seg['StopPoint'];
$StopPointArrivalTime = $seg['StopPointArrivalTime'];
$Craft = $seg['Craft'];
$Remark = $seg['Remark'];
$IsETicketEligible = $seg['IsETicketEligible'];
$NoOfSeatAvailable = !empty($seg['NoOfSeatAvailable']) ? $seg['NoOfSeatAvailable'] : 0;
$FlightStatus = $seg['FlightStatus'];
$Status = $seg['Status'];
$arrSegments = array(
"AirInvenAPISysId" => '',
"TripIndicator" => $TripIndicator,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"SegmentIndicator" => ($SegmentIndicator) ? $SegmentIndicator : 1,
"Duration" => $Duration,
"GroundTime" => $GroundTime,
"Mile" => $Mile,
"StopOver" => $StopOver,
"StopPoint" => $StopPoint,
"StopPointArrivalTime" => $StopPointArrivalTime,
"Craft" => $Craft,
"Remark" => $Remark,
"IsETicketEligible" => $IsETicketEligible,
"FlightStatus" => $FlightStatus,
"Status" => $Status
);
$FlyingMinutes = $FlyingMinutes + ((isset($seg['Duration']) ? $seg['Duration'] : 0) + (!empty($seg['GroundTime']) ? $seg['GroundTime'] : (isset($seg['AccumulatedDuration']) ? $seg['AccumulatedDuration'] : 0)));
}
$airlineSysId = $flightRounds['AirlineSysId'];
$FlyingMinutes = $FlyingMinutes;
if (!empty($result['Segments']) && count($result['Segments']) > 1) {
$SegmentsCount = count($result['Segments']);
$StopCount = $SegmentsCount - 1;
$IsDirect = '0';
} else {
$StopCount = '0';
$IsDirect = '1';
}
$strTraceId = $flightRounds['apiTraceId'];
$localFromDateTime = $flightRounds['LocalFromTime'];
$initialOriginDepTime = $flightRounds['FromUTCTime'];
$localToDateTime = $flightRounds['LocalToTime'];
$ToUTCTime = $flightRounds['ToUTCTime'];
$DayLightSavingDiff = isset($flightRounds['DayLightSavingDiff']) ? $flightRounds['DayLightSavingDiff'] : 0;
$intSourceCityId = $flightRounds['SourcePlaceSysId'];
$intDestinationCityId = $flightRounds['DestPlaceSysId'];
$strSourceAirportCode = $flightRounds['SourceAirportCode'];
$strDestinationAirportCode = $flightRounds['DestAirportCode'];
$AirportHaultMinutes = isset($flightRounds['AirportHaultMinutes']) ? $flightRounds['AirportHaultMinutes'] : 0;
$intMemberCount = $flightRounds['TotalFlightMembers'];
$JourneyType = $flightRounds['JourneyType'];
$TripType = $flightRounds['TripType'];
$IsInternational = $flightRounds['IsInternational'];
$IsFromAgency = 1;
$strFlightNumber = $flightRounds['FlightNumber'];
$ResultIndex = $flightRounds['ApiResultIndex'];
$IsLCC = $flightRounds['IsLCC'];
$IsRefundable = isset($flightRounds['IsRefundable'])?$flightRounds['IsRefundable']:0;
$strFareClass = isset($flightRounds['FareClass'])?$flightRounds['FareClass']:0;
$NoOfSeatAvailable = isset($flightRounds['NoOfSeatAvailable']) ? $flightRounds['NoOfSeatAvailable'] : 0;
if ($interNationalSearch == "1" && $route == "2") {
$AirInvenSysId = isset($AirInvenSysIdArrNew[$keys]) ? $AirInvenSysIdArrNew[$keys] : 0;
} else {
// if ($IsTJFlightAPI == 1 && $IsSeriesFareData == 0) {
// $ICSourceSysId = 7;
// } elseif ($IsTJFlightAPI == 0 && $IsSeriesFareData == 0) {
// $ICSourceSysId = 3;
// } elseif ($IsTJFlightAPI == 0 && $IsSeriesFareData == 1) {
// $ICSourceSysId = 8;
// }
$arrInsertFlightData = array();
$arrInsertFlightData['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData['AirInvenSysId'] = 0;
$arrInsertFlightData['IsLCC'] = $IsLCC;
$arrInsertFlightData['IsRefundable'] = !empty($IsRefundable)?$IsRefundable:0;
$arrInsertFlightData['apiTraceId'] = $strTraceId;
$arrInsertFlightData['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData['ICSourceSysId'] = $ICSourceSysId; //($IsSeriesFareData == 1)?8:7;
$arrInsertFlightData['IsFromAgency'] = $IsFromAgency;
$arrInsertFlightData['LocalFromTime'] = $localFromDateTime;
$arrInsertFlightData['FromUTCTime'] = str_replace('T', ' ', $initialOriginDepTime);
$arrInsertFlightData['LocalToTime'] = str_replace('T', ' ', $localToDateTime);
$arrInsertFlightData['ToUTCTime'] = str_replace('T', ' ', $ToUTCTime);
$arrInsertFlightData['IsDirect'] = $IsDirect;
$arrInsertFlightData['FareClass'] = $strFareClass;
$arrInsertFlightData['DayLightSavingDiff'] = $DayLightSavingDiff;
$arrInsertFlightData['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData['StopCount'] = $StopCount;
$arrInsertFlightData['Stops'] = '';
$arrInsertFlightData['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData['CurrencyType'] = $currencySysId;
$arrInsertFlightData['PublishedFare'] = $OfferedFare; // As Discussed with GG Discount
$arrInsertFlightData['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData['ApiResultIndex'] = '';//$ResultIndex;
$arrInsertFlightData['JourneyType'] = $JourneyType;
$arrInsertFlightData['TripType'] = $TripType;
$arrInsertFlightData['Rating'] = 0;
$arrInsertFlightData['FllightFeatureMask'] = 0;
$arrInsertFlightData['UpdatedByISSysId'] = $AgencySysId;
$arrInsertFlightData['CreatedByISSysId'] = $AgencySysId;
$arrInsertFlightData['ImageTN'] = '';
$arrInsertFlightData['ImgForList'] = '';
$arrInsertFlightData['ImgeDetails'] = '';
$arrInsertFlightData['UpdateDate'] = $UpdateDate;
$arrInsertFlightData['CreateDate'] = $CreateDate;
$arrInsertFlightData['ApproveBy'] = $ApproveBy;
$arrInsertFlightData['ApprovalDate'] = $ApprovalDate;
$arrInsertFlightData['IsApproved'] = 1;
$arrInsertFlightData['IsActive'] = 1;
$arrInsertFlightData['IsMarkForDel'] = 0;
$arrInsertFlightData['IsInternational'] = ($IsInternational) ? $IsInternational : '0';
$arrInsertFlightData['IsNewMigration'] = ($IsNewMigration) ? $IsNewMigration : 0;
$intFlightLastInsertId = $this->_objFlight->addFlightDetails($arrInsertFlightData); //TB_IC_Trans_API_Air addFlightDetails
$AirInvenSysId = $AirInvenSysIdArr[] = $intFlightLastInsertId;
$arrFairRules['TBOAirInvenAPISysId'] = $AirInvenSysId;
$this->_objFlight->addFlightFairRuleDetails($arrFairRules); //TB_IC_Trans_API_Air_Fare
try {
$arrSegments['AirInvenAPISysId'] = $AirInvenSysId;
$objFlight->addFlightSegmentsDetails($arrSegments);
} catch (Exception $e) {
echo $e->getMessage();
die('addflightfairrules');
}
if (!empty($flightRounds['FairRules']['FareBreakdown']) ) {
foreach ($flightRounds['FairRules']['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = isset($fareBreakdown['Tax']) ? $fareBreakdown['Tax'] : $fareBreakdown['TaxIN'];
$YQTax = isset($fareBreakdown['YQTax']) ? $fareBreakdown['YQTax'] : $fareBreakdown['YQ'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['IntCommission']) ? $fareBreakdown['IntCommission'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$ServiceFee = isset($fareBreakdown['ServiceFee']) ? $fareBreakdown['ServiceFee'] : 0; // New fields
$Discount = isset($fareBreakdown['CommisionPass']) ? $fareBreakdown['CommisionPass'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $AirInvenSysId,
"Currency" => $currencySysId,
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => !empty($Tax) ? $Tax : 0,
"YQTax" => !empty($YQTax) ? $YQTax : 0,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
"ServiceFee" => $ServiceFee,
"Discount" => $Discount,
);
$FareBreakdownid = $objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}
}
$strGoingFlightFrom = $flightRounds['SourceAirportCode'];
$strGoingFlightTo = $flightRounds['DestAirportCode'];
$AirlineSysId = ($flightRounds['AirlineSysId'])?$flightRounds['AirlineSysId']:$flightRounds['origin']['AirlineSysId'];
$StopCount = $flightRounds['Stops'];
$AirlineName = $flightRounds['AirlineName'];
$FlightNumber = $flightRounds['FlightNumber'];
$PublishedFare = $flightRounds['PublishedFare'];
//$OfferedFare = $flightRounds['OfferedFare'];
//$intCommissionEarned = $flightRounds['CommissionEarned'];
$strArrivalTime = $flightRounds['LocalToTime'];
$strDepartureTime = $flightRounds['LocalFromTime'];
//$sessionFlightSearchParams = new Zend_Session_Namespace('sessionFlightSearchParams');
$intAdultsCT = $sessionFlightSearchParams['adults'];
$intChildsCT = $sessionFlightSearchParams['child'];
$intInfantsCT = $sessionFlightSearchParams['infant'];
//$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$intTatalPaxCTForMarkUp = $intAdultsCT + $intChildsCT + $intInfantsCT;
if ($interNationalSearch) {
$intCountryCode = "INTERNATIONAL";
} else {
$intCountryCode = "IN";
}
$DiscountValue = ($flightRounds['FairRules']['DiscountValue']) ? $flightRounds['FairRules']['DiscountValue'] : 0;
$ExtraMarkup = ($flightRounds['FairRules']['ExtraMarkup']) ? $flightRounds['FairRules']['ExtraMarkup'] : 0;
$ExtraMarkupOnGST = ($flightRounds['FairRules']['ExtraMarkupOnGST']) ? $flightRounds['FairRules']['ExtraMarkupOnGST'] : 0;
$intPublishedFare = ($flightRounds['FairRules']['PublishedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
//$intOfferedFare = ($flightRounds['FairRules']['OfferedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$intCommissionEarned = $flightRounds['FairRules']['CommEarned'];
$intPLBEarned = $flightRounds['FairRules']['PLBEarned'];
$intIncentiveEarned = $flightRounds['FairRules']['IncentiveEarned'];
$intGTXMarkUp = $flightRounds['FairRules']['intGTXMarkUp'];
$GTXMarkUpGST = $flightRounds['FairRules']['GTXMarkUpGST'];
$intAgencyFixMarkUp = $flightRounds['FairRules']['FixedMarkUp'];
$apiMarkup = ($flightRounds['FairRules']['apiMarkup']) ? $flightRounds['FairRules']['apiMarkup'] : 0;
$intTotalGST = ($flightRounds['FairRules']['intTotalGST']) ? $flightRounds['FairRules']['intTotalGST'] : 0;
$BaseAmount = 0;
if ($flightRounds['FairRules']['FareBreakdown']) {
foreach ($flightRounds['FairRules']['FareBreakdown'] as $key => $value) {
//////////////////////////////////
$IntCommission_ = $value['IntCommission'];
$CommissionEarned_ = $value['CommissionEarned'];
$PBaseFare_ = $value['BaseFare'];
$MF = $value['MF']; //Management Fee
$YQ = $value['YQ']; //Fuel Surcharge
$AGST = $value['AGST']; //Airline GST Component
$MFT = $value['MFT']; //Management Fee Tax
$OT = $value['OT']; //Other Charges
$MU = $value['MU']; //Markup
$YR = $value['YR']; //Carrier Misc Fee
$otherCharge_ = ($YQ + $AGST + $MFT + $MF + $OT + $YR);
$FixedMarkUp_ = $value['FixedMarkUp'];
$GSTOnMarkUp = $value['GSTOnMarkUp'];
$intGTXMarkUp_ = $value['intGTXMarkUp'];
$GTXMarkUpGST_ = $value['GTXMarkUpGST'];
$intTotalGST_ = $value['intTotalGST'];
$apiMarkup_ = $value['apiMarkup'];
$CommEarned_ = $value['CommEarned'];
$customerDiscount_ = ($CommissionEarned_ - $IntCommission_);
$GrandTotalBaseFare = (($PBaseFare_ - $CommEarned_ + $otherCharge_ + $FixedMarkUp_ + $apiMarkup_ + $intGTXMarkUp_ + $GTXMarkUpGST_) - $customerDiscount_);
$BaseAmount += $GrandTotalBaseFare;
$AgentServiceTaxAmount += $intTotalGST_;
}
}
$TotalExtraCharge = ($ExtraMarkup + $ExtraMarkupOnGST);
$intOfferedFare = ($BaseAmount + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$totalCost = ($intPublishedFare + $TotalExtraCharge);
$AgencyMarkUp += ($intAgencyFixMarkUp + $apiMarkup);
$GTXMarkUp += ($GTXMarkUpGST);
$AgentCommisionEarned += ($intCommissionEarned);
$BaseAmount_trx += ($intOfferedFare);
$PublishedFare_trx += ($intPublishedFare);
$TotalDiscountValue += ($DiscountValue);
$arrPlanAir['SeqId'] = $intRounds;
$arrPlanAir['TPIntSysId'] = $TPIntSysId;
$arrPlanAir['SourceAirportCode'] = $strGoingFlightFrom;
$arrPlanAir['DestAirportCode'] = $strGoingFlightTo;
$arrPlanAir['LocalFromTime'] = str_replace('T',' ',$strArrivalTime);
$arrPlanAir['LocalToTime'] = str_replace('T',' ',$strDepartureTime);
$arrPlanAir['FromUTCTime'] = str_replace('T',' ',$strArrivalTime);
$arrPlanAir['ToUTCTime'] = str_replace('T',' ',$strDepartureTime);
$arrPlanAir['SupplierSysId'] = 3;
$arrPlanAir['IsActive'] = 1;
$arrPlanAir['IsMarkForDel'] = 0;
$arrPlanAir['FlightNumber'] = $FlightNumber;
$arrPlanAir['Cost'] = ($intOfferedFare);
$arrPlanAir['TotalCost'] = $totalCost; //($intPublishedFare + $ExtraMarkup + $ExtraMarkupOnGST);
$arrPlanAir['XServiceTaxAmount'] = 0; //$intSTaxOnBasePrice;
$arrPlanAir['GTXServiceTaxAmount'] = $GTXMarkUpGST; //$intSTaxOnGTXMarkUp;
$arrPlanAir['AgentServiceTaxAmount'] = $intTotalGST; //$intTotalGSTAgencyEarnings; ICSourceSysId
$arrPlanAir['AgentsCustomServiceTaxAmount'] = 0;
$arrPlanAir['MarkUp'] = 0;
$arrPlanAir['AgencyMarkUp'] = ($intAgencyFixMarkUp + $apiMarkup);
$arrPlanAir['GTXMarkup'] = $intGTXMarkUp;
$arrPlanAir['GTXCommission'] = 0;
$arrPlanAir['AgencyCommission'] = $intCommissionEarned;
$arrPlanAir['ExtraMarkup'] = $ExtraMarkup;
$arrPlanAir['ExtraMarkupOnGST'] = $ExtraMarkupOnGST;
$arrPlanAir['Discount'] = $DiscountValue;
$arrPlanAir['Taxes'] = 0;
$arrPlanAir['TDS'] = 0;
$arrPlanAir['AirlineSysId'] = $AirlineSysId;
$arrPlanAir['ICSourceSysId'] = $ICSourceSysId; //($IsSeriesFareData == 1)?8:7; intLoggedinAgencyId
$arrPlanAir['InvnItemSysId'] = $AirInvenSysId;
$arrPlanAir['IsFromAPI'] = 1;
$arrPlanAir['StopCount'] = ($StopCount)?$StopCount:0;
$arrPlanAir['AdultPax'] = $adultCount;
$arrPlanAir['ChildPax'] = $childCount;
$arrPlanAir['InfentPax'] = $infantCount;
$arrPlanAir['TotalPax'] = $totalPassengers;
$arrPlanAir['TripType'] = $route;
$arrPlanAir['XRefBookingId'] = isset($flightRounds['bookingId']) ? $flightRounds['bookingId'] : '';
$arrPlanAir['IsSelectedOnPkg'] = 1;
$arrPlanAir['CreateDate'] = date('Y-m-d H:i:s');
$arrPlanAir['UpdateDate'] = date('Y-m-d H:i:s');
$arrPlanAir['AgencySysId'] = $AgencySysId;
// echo "<pre>";
// print_r($arrPlanAir);
// die('sssss');
$intTpAirId = $objFlight->insertTravelPlanIAir($arrPlanAir);
$intRounds++;
$arrIntTpAirId[] = $intTpAirId;
}
}
}
//Will Remove ...
$Customer = new Zend_Session_Namespace('Customer');
$Customer->Customer = $arrCustomer;
$Customer->CustomerMembers = $arrCustomerMembers;
$Customer->intCustomerSysId = $intCustomerSysId;
$Customer->intTPSysId = $TPSysId;
//$TraceId = implode('-', str_split(substr(strtolower(md5(time() . rand(1000, 9999))), 0, 20), 5));
//Will Remove...
// $arrData = array(
// "intOutBoundId" => $BookingData,
// "intInBoundId" => $intInBoundId,
// "intCustomerSysId" => $intCustomerSysId,
// "intTPSysId" => $TPSysId,
// "arrIntTpAirId" => $arrIntTpAirId,
// "SelectedBaggSessionNew" => $SelectedBaggSessionNew,
// "SelectedMealSessionNew" => $SelectedMealSessionNew,
// "selectedSeatSession" => $selectedSeatSession,
// "sessionFlightSearchParams" => $sessionFlightSearchParams,
// "AirInvenSysIdArr" => $AirInvenSysIdArr,
// "ForCustomerSession" => $ForCustomerSession,
// "IsTripjack" => true,
// );
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['intCustomerSysId'] = $intCustomerSysId;
$arrData['intTPSysId'] = $TPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['SelectedBaggSessionNew'] = $SelectedBaggSessionNew;
$arrData['SelectedMealSessionNew'] = $SelectedMealSessionNew;
$arrData['selectedSeatSession'] = $selectedSeatSession;
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
$arrData['AirInvenSysIdArr'] = $AirInvenSysIdArr;
$arrData['ForCustomerSession'] = $ForCustomerSession;
$arrData['IsTripjack'] = true;
$tempData = array(
'TraceId' => $SearchTraceId,
'TPSysId' => $TPSysId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
//$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'intCustomerSysId' => $intCustomerSysId, 'strUrlData' => $SearchTraceId);
echo json_encode($response);
exit;
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
public function validatepassAction()
{
$post = $this->getRequest()->getPost();
$sessionFlightSearchParams = json_decode($this->getRequest()->getParam('sessionFlightSearchParams'), true);
//$sessionFlightSearchParams = new Zend_Session_Namespace('sessionFlightSearchParams');
$editLeadId = isset($sessionFlightSearchParams['editLeadId']) ? $sessionFlightSearchParams['editLeadId'] : '';
$route = isset($sessionFlightSearchParams['route']) ? $sessionFlightSearchParams['route'] : '';
$interNationalSearch = isset($sessionFlightSearchParams['interNationalSearch']) ? $sessionFlightSearchParams['interNationalSearch'] : '';
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$intOutBoundId = !empty($this->getRequest()->getParam('intOutBoundId')) ? json_decode($this->getRequest()->getParam('intOutBoundId'), true) : 0;
$BookingData = $intOutBoundId;
$SearchTraceId = $BookingData[0]['SearchTraceId'];
$isAdobrMandatory = $BookingData[0]['isAdobrMandatory'];
$isCdobrMandatory = $BookingData[0]['isCdobrMandatory'];
$isIdobrMandatory = $BookingData[0]['isIdobrMandatory'];
$IsPassMandatory = $BookingData[0]['IsPassMandatory'];
$ICSourceSysId = isset($BookingData[0]['ICSourceSysId']) ? $BookingData[0]['ICSourceSysId'] : 0;
$adultCount = isset($sessionFlightSearchParams['adults']) ? $sessionFlightSearchParams['adults'] : 0;
$childCount = isset($sessionFlightSearchParams['child']) ? $sessionFlightSearchParams['child'] : 0;
$infantCount = isset($sessionFlightSearchParams['infant']) ? $sessionFlightSearchParams['infant'] : 0;
$totalPassengers = $adultCount + $childCount + $infantCount;
// echo "<pre>";
// print_r($IsPassMandatory);
// die('d');
//encode travellers information in json to save created by Er Amit Kumar Dubey on 6 march 2017 at 11:21 AM
$departure_dates_string = $sessionFlightSearchParams['departure_dates'];
if($route == '3'){
$departure_dates_string = $sessionFlightSearchParams['departure_dates'][0];
}
$explode_date = explode("/", $departure_dates_string);
$departure_dates = $explode_date[2] . '-' . $explode_date[1] . '-' . $explode_date[0];
$return_dates_string = $sessionFlightSearchParams['return_dates'];
$explode_return_date = explode("/", $return_dates_string);
$return_dates = (isset($sessionFlightSearchParams['return_dates']) && !empty($sessionFlightSearchParams['return_dates'])) ? $explode_return_date[2] . '-' . $explode_return_date[1] . '-' . $explode_return_date[0] : '1900-01-01';
$oneway_origin_text = isset($sessionFlightSearchParams['oneway_origin_text']) ? $sessionFlightSearchParams['oneway_origin_text'] : $sessionFlightSearchParams['sourceCityAirportCode'];
$oneway_destination_text = isset($sessionFlightSearchParams['oneway_destination_text']) ? $sessionFlightSearchParams['oneway_destination_text'] : $sessionFlightSearchParams['destinationCityAirportCode'];
$flight_class = $sessionFlightSearchParams['flight_class'];
for ($i = 1; $i <= $totalPassengers; $i++) {
$paxType = $post['paxType-' . $i];
$firstName = $post['passenger-firstname-' . $i];
$lastName = $post['passenger-lastname-' . $i];
$relation = $post['relation-' . $i];
$salutation = $post['passenger-salutation-' . $i];
$mobileNumber = $post['mobile_number'];
$email_id = $post['email_id'];
$passengerDob = !empty($post['passenger-dob-' . $i]) ? $post['passenger-dob-' . $i] : '01/01/1900';
$AdultpassengerpassengerDob = isset($post['Adultpassenger-dob-' . $i]) ? $post['Adultpassenger-dob-' . $i] : '';
$nationality = isset($post['passenger-nationality-' . $i]) ? $post['passenger-nationality-' . $i] : '';
$passengerPassportNo = isset($post['passenger-PassportNo-' . $i]) ? $post['passenger-PassportNo-' . $i] : '';
$passengerPassportExpiry = isset($post['passenger-PassportExpiry-' . $i]) ? $post['passenger-PassportExpiry-' . $i] : '';
$passporIssue = isset($post['passenger-passporIssue-' . $i]) ? $post['passenger-passporIssue-' . $i] : '';
if (!empty($passengerDob)) {
$passengerDob = explode("/", $passengerDob);
$passengerDob = $passengerDob[2] . "-" . $passengerDob[1] . "-" . $passengerDob[0];
}
if (!empty($AdultpassengerpassengerDob)) {
$AdultpassengerpassengerDob = explode("/", $AdultpassengerpassengerDob);
$AdultpassengerpassengerDob = $AdultpassengerpassengerDob[2] . "-" . $AdultpassengerpassengerDob[1] . "-" . $AdultpassengerpassengerDob[0];
}
if (!empty($passengerPassportExpiry)) {
$passengerPassportExpiry = explode("/", $passengerPassportExpiry);
$passengerPassportExpiry = $passengerPassportExpiry[2] . "-" . $passengerPassportExpiry[1] . "-" . $passengerPassportExpiry[0];
}
if (!empty($passporIssue)) {
$passporIssue = explode("/", $passporIssue);
$passporIssue = $passporIssue[2] . "-" . $passporIssue[1] . "-" . $passporIssue[0];
}
$passengerCity = $post['passenger-city-1'];
$passengerCountry = $post['passenger-country-1'];
$passengerAddress = $post['passenger-address-1'];
$AdultageCalculator = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->ageCalculator($departure_dates, $AdultpassengerpassengerDob);
if (empty($mobileNumber)) {
$response = array('succes' => false, 'msg' => 'Please enter mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (strlen($mobileNumber) != 10 && strlen($mobileNumber) != 11) {
$response = array('succes' => false, 'msg' => 'Please enter a valid mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (empty($email_id)) {
$response = array('succes' => false, 'msg' => 'Please enter Email ID.', 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (!filter_var($email_id, FILTER_VALIDATE_EMAIL)) {
$msg = "Email address is not valid.";
$response = array('success' => false, 'msg' => $msg, 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (empty($firstName)) {
$response = array('succes' => false, 'msg' => 'Please enter first name.', 'index' => 'passenger-firstname-' . $i);
echo json_encode($response);
exit;
}
if (empty($lastName)) {
$response = array('succes' => false, 'msg' => 'Please enter last name.', 'index' => 'passenger-lastname-' . $i);
echo json_encode($response);
exit;
}
if (empty($passengerDob)) {
$response = array('succes' => false, 'msg' => 'Please enter date of birth.', 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-nationality-' . $i]) && empty($nationality) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please select Nationality.', 'index' => 'passenger-nationality-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportNo-' . $i]) && empty($passengerPassportNo) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passenger passport no.', 'index' => 'passenger-PassportNo-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-passporIssue-' . $i]) && empty($passporIssue) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport issue date.', 'index' => 'passenger-nationality-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && empty($passengerPassportExpiry) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && strtotime($departure_dates) > strtotime($passengerPassportExpiry) && $IsPassMandatory) {
$response = array('succes' => false, 'msg' => 'Please enter passport valid expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if ($paxType == 1 && $isAdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDatesAD = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$AdultAge = date_diff(date_create($passengerDob), date_create($departureDatesAD))->y;
if ($AdultAge < 12) {
$response = array('succes' => false, 'msg' => "Adult age should be greater than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 2 && $isCdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$childAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($childAge < 2 || $childAge >= 12) {
$response = array('succes' => false, 'msg' => "Child age should be 2 years or less than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 3 && $isIdobrMandatory) {
$departureDates = $sessionFlightSearchParams['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$infantAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($infantAge >= 2) {
$response = array('succes' => false, 'msg' => "Infant age should be less than 2 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (empty($passengerCity) && $ICSourceSysId == 3) {
$response = array('succes' => false, 'msg' => 'Please enter City.', 'index' => 'passenger-city-1');
echo json_encode($response);
exit;
}
if (empty($passengerAddress) && $ICSourceSysId == 3) {
$response = array('succes' => false, 'msg' => 'Please enter Address.', 'index' => 'passenger-address-1');
echo json_encode($response);
exit;
}
// if (empty($passengerCity)) {
// $response = array('succes' => false, 'msg' => 'Please enter City.', 'index' => 'passenger-city-1');
// echo json_encode($response);
// exit;
// }
// if (empty($passengerAddress)) {
// $response = array('succes' => false, 'msg' => 'Please enter Address.', 'index' => 'passenger-address-1');
// echo json_encode($response);
// exit;
// }
}
$response = array('success' => true);
echo json_encode($response);
exit;
}
public function insertInterNationalFlightNewAction($data, $arrCommonInsVariables, $AgentSysId, $ICSourceSysId) {
if (isset($data) && count($data) > 0) {
$objFlight = new Travel_Model_TblFlight();
// For getting All Airlines Array
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
// For getting All currency Array
$objCurrency = new Travel_Model_TblCurrency();
$arrCurrencyList = $objCurrency->getCurrencyIdsAndSymbolList();
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '';
$JourneyType = isset($arrCommonInsVariables['JourneyType']) ? $arrCommonInsVariables['JourneyType'] : '';
// For getting All Source & Destination CitySysId Array
$objAirport = new Travel_Model_TblAirport();
$arrCityIds = $objAirport->getCityIdsAndAirPortCodeList();
try{
foreach ($data as $result) {
//echo $ICSourceSysId;
// Master Entry... ToUTCTime
$AirInvenSysIdArr = [];
if (isset($result['Segments']) && count($result['Segments']) > 1) {
$AirlineCode = isset($result['AirlineCode']) ? $result['AirlineCode'] : '';
if ($ICSourceSysId == 7) {
$OriginDepTime = isset($result['Segments'][0][0]['originDepTime']) ? $result['Segments'][0][0]['originDepTime'] . ':00' : '';
if (count($result['Segments'][1]) == 1) {
$DestinationArrTime = isset($result['Segments'][1][0]['destinationArrTime']) ? $result['Segments'][1][0]['destinationArrTime'] . ':00' : $result['Segments'][1][0]['destinationArrTime'] . ':00';
} elseif (count($result['Segments'][1]) == 2) {
$DestinationArrTime = isset($result['Segments'][1][1]['destinationArrTime']) ? $result['Segments'][1][1]['destinationArrTime'] . ':00' : $result['Segments'][1][1]['destinationArrTime'] . ':00';
} elseif (count($result['Segments'][1]) == 3) {
$DestinationArrTime = isset($result['Segments'][1][2]['destinationArrTime']) ? $result['Segments'][1][2]['destinationArrTime'] . ':00' : $result['Segments'][1][2]['destinationArrTime'] . ':00';
} elseif (count($result['Segments'][1]) == 4) {
$DestinationArrTime = isset($result['Segments'][1][3]['destinationArrTime']) ? $result['Segments'][1][3]['destinationArrTime'] . ':00' : $result['Segments'][1][3]['destinationArrTime'] . ':00';
}
} else {
$SegmentsEnd = end($result['Segments']);
$originDepTime_ = isset($result['Segments'][0]['originDepTime']) ? $result['Segments'][0]['originDepTime'] : '';
$destinationArrTime_ = isset($SegmentsEnd['destinationArrTime']) ? $SegmentsEnd['destinationArrTime'] : '';
$OriginDepTime = isset($result['Segments'][0][0]['Origin']['DepTime']) ? $result['Segments'][0][0]['Origin']['DepTime'] : $originDepTime_;
$DestinationArrTime = isset($result['Segments'][1][1]['Destination']['ArrTime']) ? $result['Segments'][1][1]['Destination']['ArrTime'] : $destinationArrTime_;
// $DestinationArrTime = isset($result['Segments'][1][1]['Destination']['ArrTime']) ? $result['Segments'][1][1]['Destination']['ArrTime'] : $result['Segments'][1][0]['Destination']['ArrTime'];
}
$Currency = $result['Fare']['Currency'];
$arrInsertFlightData = array();
$arrInsertFlightData['FlightNumber'] = '';
$arrInsertFlightData['AirInvenSysId'] = 0;
$arrInsertFlightData['IsLCC'] = isset($result['IsLCC']) ? $result['IsLCC'] : '';
$arrInsertFlightData['IsRefundable'] = true; //isset($result['IsRefundable']) ? $result['IsRefundable'] : '';
$arrInsertFlightData['apiTraceId'] = isset($result['strTraceId']) ? $result['strTraceId'] : '';
$arrInsertFlightData['AirlineSysId'] = isset($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData['ICSourceSysId'] = $ICSourceSysId; //3 For TBO
$arrInsertFlightData['IsFromAgency'] = '1';
$arrInsertFlightData['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? str_replace('T',' ',$arrCommonInsVariables['localFromDateTime']) : '';
$arrInsertFlightData['FromUTCTime'] = str_replace('T',' ',$OriginDepTime);
$arrInsertFlightData['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? str_replace('T',' ',$arrCommonInsVariables['localToDateTime']) : '';
;
$arrInsertFlightData['ToUTCTime'] = str_replace('T',' ',$DestinationArrTime);
$arrInsertFlightData['IsDirect'] = 0;
$arrInsertFlightData['FareClass'] = '';
$arrInsertFlightData['DayLightSavingDiff'] = '0';
$arrInsertFlightData['FlyingMinutes'] = '0';
$arrInsertFlightData['SourcePlaceSysId'] = $arrCommonInsVariables['intSourceCityId'];
$arrInsertFlightData['DestPlaceSysId'] = $arrCommonInsVariables['intDestinationCityId'];
$arrInsertFlightData['SourceAirportCode'] = $arrCommonInsVariables['strSourceAirportCode'];
$arrInsertFlightData['DestAirportCode'] = $arrCommonInsVariables['strDestinationAirportCode'];
$arrInsertFlightData['AirportHaultMinutes'] = '0';
$arrInsertFlightData['StopCount'] = '0';
$arrInsertFlightData['Stops'] = '';
$arrInsertFlightData['NoOfSeatAvailable'] = 0;
$arrInsertFlightData['TotalFlightMembers'] = isset($arrCommonInsVariables['intMemberCount']) ? $arrCommonInsVariables['intMemberCount'] : '';
$arrInsertFlightData['CurrencyType'] = isset($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1';
$arrInsertFlightData['PublishedFare'] = isset($result['Fare']['OfferedFare']) ? (int) round($result['Fare']['OfferedFare']) : 0;
$arrInsertFlightData['CommissionEarned'] = isset($result['Fare']['CommissionEarned']) ? (int) round($result['Fare']['CommissionEarned']) : 0;
$arrInsertFlightData['ApiResultIndex'] = isset($result['ResultIndex']) ? $result['ResultIndex'] : '';
$arrInsertFlightData['JourneyType'] = '2';
$arrInsertFlightData['TripType'] = '2';
$arrInsertFlightData['IsInternational'] = '1';
$arrInsertFlightData['Rating'] = '0';
$arrInsertFlightData['FllightFeatureMask'] = '0';
$arrInsertFlightData['UpdatedByISSysId'] = $AgentSysId;
$arrInsertFlightData['CreatedByISSysId'] = $AgentSysId;
$arrInsertFlightData['ImageTN'] = '';
$arrInsertFlightData['ImgForList'] = '';
$arrInsertFlightData['ImgeDetails'] = '';
$arrInsertFlightData['UpdateDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['CreateDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['ApproveBy'] = $AgentSysId;
$arrInsertFlightData['ApprovalDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['IsApproved'] = 1;
$arrInsertFlightData['IsActive'] = 1;
$arrInsertFlightData['IsMarkForDel'] = 0;
$arrInsertFlightData['IsNewMigration'] = isset($result['IsNewMigration']) ? $result['IsNewMigration'] : 0;
$intFlightParentRecordId = $AirInvenSysIdArr[] = $objFlight->addFlightDetails($arrInsertFlightData);
// Master Entry Ends...
// Master Fare Details...
$arrFairRules = array(
"TBOAirInvenAPISysId" => $intFlightParentRecordId,
"Currency" => !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"BaseFare" => isset($result['Fare']['BaseFare']) ? $result['Fare']['BaseFare'] : 0,
"Tax" => isset($result['Fare']['Tax']) ? $result['Fare']['Tax'] : 0,
"YQTax" => isset($result['Fare']['YQTax']) ? $result['Fare']['YQTax'] : 0,
"AdditionalTxnFeeOfrd" => isset($result['Fare']['AdditionalTxnFeeOfrd']) ? $result['Fare']['AdditionalTxnFeeOfrd'] : 0,
"AdditionalTxnFeePub" => isset($result['Fare']['AdditionalTxnFeePub']) ? $result['Fare']['AdditionalTxnFeePub'] : 0,
"OtherCharges" => isset($result['Fare']['OtherCharges']) ? $result['Fare']['OtherCharges'] : 0,
"Discount" => isset($result['Fare']['Discount']) ? $result['Fare']['Discount'] : 0,
"ServiceFee" => isset($result['Fare']['ServiceFee']) ? $result['Fare']['ServiceFee'] : 0,
"PublishedFare" => isset($result['Fare']['PublishedFare']) ? $result['Fare']['PublishedFare'] : 0,
"CommissionEarned" => isset($result['Fare']['CommissionEarned']) ? $result['Fare']['CommissionEarned'] : 0,
"PLBEarned" => isset($result['Fare']['PLBEarned']) ? $result['Fare']['PLBEarned'] : 0,
"IncentiveEarned" => isset($result['Fare']['IncentiveEarned']) ? $result['Fare']['IncentiveEarned'] : 0,
"OfferedFare" => isset($result['Fare']['OfferedFare']) ? $result['Fare']['OfferedFare'] : 0,
"TdsOnCommission" => isset($result['Fare']['TdsOnCommission']) ? $result['Fare']['TdsOnCommission'] : 0,
"TdsOnPLB" => isset($result['Fare']['TdsOnPLB']) ? $result['Fare']['TdsOnPLB'] : 0,
"TdsOnIncentive" => isset($result['Fare']['TdsOnIncentive']) ? $result['Fare']['TdsOnIncentive'] : 0,
"UpdateDate" => date('Y-m-d H:i:s'),
"CreateDate" => date('Y-m-d H:i:s'),
"IsActive" => 1,
"IsMarkForDel" => 0
);
// echo "<pre>";
// print_r($arrFairRules);
// die('ddd');
$objFlight->addFlightFairRuleDetails($arrFairRules);
// Master Fare Details Ends...
// FareBreakdown Details...
if ($ICSourceSysId == 7) {
if (!empty($result['Fare']['FareBreakdown'])) {
foreach ($result['Fare']['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = $fareBreakdown['TaxIN'];
$YQTax = $fareBreakdown['YQ'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['IntCommission']) ? $fareBreakdown['IntCommission'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $intFlightParentRecordId,
"Currency" => !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
);
$objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}else{
foreach ($result['FairRules']['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = $fareBreakdown['TaxIN'];
$YQTax = $fareBreakdown['YQ'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['IntCommission']) ? $fareBreakdown['IntCommission'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $intFlightParentRecordId,
"Currency" => !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
);
$objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}
} else {
if (!empty($result['FareBreakdown']) ) {
foreach ($result['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = $fareBreakdown['Tax'];
$YQTax = $fareBreakdown['YQTax'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['IntCommission']) ? $fareBreakdown['IntCommission'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$ServiceFee = isset($fareBreakdown['ServiceFee']) ? $fareBreakdown['ServiceFee'] : 0; // New fields
$Discount = isset($fareBreakdown['CommisionPass']) ? $fareBreakdown['CommisionPass'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $intFlightParentRecordId,
"Currency" => !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
"ServiceFee" => $ServiceFee,
"Discount" => $Discount,
);
$objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}else{
if (!empty($result['FairRules']['FareBreakdown']) ) {
foreach ($result['FairRules']['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = $fareBreakdown['TaxIN'];
$YQTax = $fareBreakdown['YQ'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['IntCommission']) ? $fareBreakdown['IntCommission'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$ServiceFee = isset($fareBreakdown['ServiceFee']) ? $fareBreakdown['ServiceFee'] : 0; // New fields
$Discount = isset($fareBreakdown['CommisionPass']) ? $fareBreakdown['CommisionPass'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $intFlightParentRecordId,
"Currency" => !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
"ServiceFee" => $ServiceFee,
"Discount" => $Discount,
);
$objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}
}
}
// FareBreakdown Details Ends...
// InOutBound/InBound Flights Data...
if($ICSourceSysId == 3 && $interNationalSearch == 1 && $JourneyType == 2){
$SegmentsTBO = $result['SegmentsInt'];
}else{
$SegmentsTBO = $result['Segments'];
}
$arrInsertFlightData = array();
$intSegments = 1;
foreach ($SegmentsTBO as $segmentsResult) {
$arrFirstSegments = current($segmentsResult);
$arrLastSegments = end($segmentsResult);
$FlyingMinutesOutBound = 0;
$FlyingMinutesInBound = 0;
foreach ($segmentsResult as $arrSegmentsRes) {
$TripIndicator = isset($arrSegmentsRes['TripIndicator']) ? $arrSegmentsRes['TripIndicator'] : '0';
$Duration = isset($arrSegmentsRes['Duration']) ? $arrSegmentsRes['Duration'] : '0';
$GroundTime = isset($arrSegmentsRes['GroundTime']) ? $arrSegmentsRes['GroundTime'] : '0';
if ($TripIndicator == 1) {
$FlyingMinutesOutBound += ($Duration + $GroundTime);
} else {
$FlyingMinutesInBound += ($Duration + $GroundTime);
}
}
if ($ICSourceSysId == 7) {
$OriginDepTime = isset($arrFirstSegments['originDepTime']) ? $arrFirstSegments['originDepTime'] . ':00' : '';
$DestinationArrTime = isset($arrLastSegments['destinationArrTime']) ? $arrLastSegments['destinationArrTime'] . ':00' : '';
$AirlineCode = isset($arrFirstSegments['AirlineCode']) ? $arrFirstSegments['AirlineCode'] : '';
$AirlineName = isset($arrFirstSegments['AirlineName']) ? $arrFirstSegments['AirlineName'] : '';
$FlightNumber = isset($arrFirstSegments['SegFlightNumber']) ? $arrFirstSegments['SegFlightNumber'] : '';
$SourceAirportCode = isset($arrFirstSegments['originAirportCode']) ? $arrFirstSegments['originAirportCode'] : '';
$DestAirportCode = isset($arrLastSegments['destinationAirportCode']) ? $arrLastSegments['destinationAirportCode'] : '';
$FareClass = isset($arrFirstSegments['FareClass']) ? $arrFirstSegments['FareClass'] : '';
} else {
$OriginDepTime = isset($arrFirstSegments['Origin']['DepTime']) ? $arrFirstSegments['Origin']['DepTime'] : '';
$DestinationArrTime = isset($arrLastSegments['Destination']['ArrTime']) ? $arrLastSegments['Destination']['ArrTime'] : '';
$AirlineCode = isset($arrFirstSegments['Airline']['AirlineCode']) ? $arrFirstSegments['Airline']['AirlineCode'] : '';
$AirlineName = isset($arrFirstSegments['Airline']['AirlineName']) ? $arrFirstSegments['Airline']['AirlineName'] : '';
$FlightNumber = isset($arrFirstSegments['Airline']['FlightNumber']) ? $AirlineCode.'-'.$arrFirstSegments['Airline']['FlightNumber'] : '';
$SourceAirportCode = isset($arrFirstSegments['Origin']['Airport']['AirportCode']) ? $arrFirstSegments['Origin']['Airport']['AirportCode'] : '';
$DestAirportCode = isset($arrLastSegments['Destination']['Airport']['AirportCode']) ? $arrLastSegments['Destination']['Airport']['AirportCode'] : '';
$FareClass = isset($arrFirstSegments['Airline']['FareClass']) ? $arrFirstSegments['Airline']['FareClass'] : '';
}
// echo "<pre>";
// print_r($segmentsResult);
// die('ddd');
$NoOfSeatAvailableOutBound = isset($arrFirstSegments['NoOfSeatAvailable']) ? $arrFirstSegments['NoOfSeatAvailable'] : '0';
$NoOfSeatAvailableInBound = isset($arrLastSegments['NoOfSeatAvailable']) ? $arrLastSegments['NoOfSeatAvailable'] : '0';
$strFlightNumber = $FlightNumber;
if (count($segmentsResult) > 1) {
$IsDirect = 0;
$StopCount = count($segmentsResult) - 1;
} else {
$IsDirect = 1;
$StopCount = 0;
}
$arrInsertFlightData['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData['AirInvenSysId'] = $intFlightParentRecordId;
$arrInsertFlightData['IsLCC'] = isset($result['IsLCC']) ? $result['IsLCC'] : '';
$arrInsertFlightData['IsRefundable'] = isset($result['IsRefundable']) ? $result['IsRefundable'] : '';
$arrInsertFlightData['apiTraceId'] = isset($result['strTraceId']) ? $result['strTraceId'] : '';
$arrInsertFlightData['AirlineSysId'] = isset($arrAirlineList[$AirlineCode]) ? $arrAirlineList[$AirlineCode] : '0';
$arrInsertFlightData['ICSourceSysId'] = $ICSourceSysId; //3 For TBO
$arrInsertFlightData['IsFromAgency'] = '1';
$arrInsertFlightData['LocalFromTime'] = isset($arrCommonInsVariables['localFromDateTime']) ? str_replace('T',' ',$arrCommonInsVariables['localFromDateTime']) : '';
$arrInsertFlightData['FromUTCTime'] = str_replace('T',' ',$OriginDepTime);
$arrInsertFlightData['LocalToTime'] = isset($arrCommonInsVariables['localToDateTime']) ? str_replace('T',' ',$arrCommonInsVariables['localToDateTime']) : '';
;
$arrInsertFlightData['ToUTCTime'] = str_replace('T',' ',$DestinationArrTime);
$arrInsertFlightData['IsDirect'] = $IsDirect;
$arrInsertFlightData['FareClass'] = $FareClass;
$arrInsertFlightData['DayLightSavingDiff'] = '0';
$arrInsertFlightData['FlyingMinutes'] = ($intSegments > 1) ? $FlyingMinutesInBound : $FlyingMinutesOutBound;
if ($intSegments > 1) {
$arrInsertFlightData['SourcePlaceSysId'] = $arrCommonInsVariables['intDestinationCityId'];
$arrInsertFlightData['DestPlaceSysId'] = $arrCommonInsVariables['intSourceCityId'];
} else {
$arrInsertFlightData['SourcePlaceSysId'] = $arrCommonInsVariables['intSourceCityId'];
$arrInsertFlightData['DestPlaceSysId'] = $arrCommonInsVariables['intDestinationCityId'];
}
$arrInsertFlightData['SourceAirportCode'] = $SourceAirportCode;
$arrInsertFlightData['DestAirportCode'] = $DestAirportCode;
$arrInsertFlightData['AirportHaultMinutes'] = '0';
$arrInsertFlightData['StopCount'] = $StopCount;
$arrInsertFlightData['Stops'] = '';
$arrInsertFlightData['NoOfSeatAvailable'] = ($intSegments > 1) ? $NoOfSeatAvailableInBound : $NoOfSeatAvailableOutBound;
$arrInsertFlightData['TotalFlightMembers'] = isset($arrCommonInsVariables['intMemberCount']) ? $arrCommonInsVariables['intMemberCount'] : '';
$arrInsertFlightData['CurrencyType'] = isset($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1';
$arrInsertFlightData['PublishedFare'] = isset($result['Fare']['OfferedFare']) ? (int) round($result['Fare']['OfferedFare']) : 0;
$arrInsertFlightData['CommissionEarned'] = isset($result['Fare']['CommissionEarned']) ? (int) round($result['Fare']['CommissionEarned']) : 0;
$arrInsertFlightData['ApiResultIndex'] = isset($result['ResultIndex']) ? $result['ResultIndex'] : '';
$arrInsertFlightData['JourneyType'] = '2';
$arrInsertFlightData['TripType'] = 2;
$arrInsertFlightData['IsInternational'] = '1';
$arrInsertFlightData['Rating'] = '0';
$arrInsertFlightData['FllightFeatureMask'] = '0';
$arrInsertFlightData['UpdatedByISSysId'] = $AgentSysId;
$arrInsertFlightData['CreatedByISSysId'] = $AgentSysId;
$arrInsertFlightData['ImageTN'] = '';
$arrInsertFlightData['ImgForList'] = '';
$arrInsertFlightData['ImgeDetails'] = '';
$arrInsertFlightData['UpdateDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['CreateDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['ApproveBy'] = $AgentSysId;
$arrInsertFlightData['ApprovalDate'] = date('Y-m-d H:i:s');
$arrInsertFlightData['IsApproved'] = 1;
$arrInsertFlightData['IsActive'] = 1;
$arrInsertFlightData['IsMarkForDel'] = 0;
$arrInsertFlightData['IsNewMigration'] = isset($result['IsNewMigration']) ? $result['IsNewMigration'] : 0;
// echo "<pre>";
// print_r($arrInsertFlightData);
// echo '==========';die;
$intFlightChildRecordId = $objFlight->addFlightDetails($arrInsertFlightData);
$intSegments++;
if ($ICSourceSysId == 3 && count($segmentsResult) > 0) {
$Sequance = 1;
foreach ($segmentsResult as $arrSegmentsRes) {
// FOR FLIGHT SEGMENTS.....
$arrSegments = array(
"AirInvenAPISysId" => $intFlightChildRecordId,
"TripIndicator" => isset($arrSegmentsRes['TripIndicator']) ? $arrSegmentsRes['TripIndicator'] : '0',
"Baggage" => isset($arrSegmentsRes['Baggage']) ? $arrSegmentsRes['Baggage'] : '',
"CabinBaggage" => isset($arrSegmentsRes['CabinBaggage']) ? $arrSegmentsRes['CabinBaggage'] : '',
"SegmentIndicator" => isset($arrSegmentsRes['SegmentIndicator']) ? $arrSegmentsRes['SegmentIndicator'] : '0',
"OriginAirportCode" => isset($arrSegmentsRes['Origin']['Airport']['AirportCode']) ? $arrSegmentsRes['Origin']['Airport']['AirportCode'] : '',
"DestAirportCode" => isset($arrSegmentsRes['Destination']['Airport']['AirportCode']) ? $arrSegmentsRes['Destination']['Airport']['AirportCode'] : '',
"Duration" => isset($arrSegmentsRes['Duration']) ? $arrSegmentsRes['Duration'] : '0',
"GroundTime" => isset($arrSegmentsRes['TripIndicator']) ? $arrSegmentsRes['TripIndicator'] : '0',
"Mile" => isset($arrSegmentsRes['Mile']) ? $arrSegmentsRes['Mile'] : '0',
"StopOver" => isset($arrSegmentsRes['StopOver']) ? $arrSegmentsRes['StopOver'] : '0',
"StopPoint" => isset($arrSegmentsRes['StopPoint']) ? $arrSegmentsRes['StopPoint'] : '0',
"StopPointArrivalTime" => isset($arrSegmentsRes['StopPointArrivalTime']) ? $arrSegmentsRes['StopPointArrivalTime'] : '0',
"Craft" => isset($arrSegmentsRes['Craft']) ? $arrSegmentsRes['Craft'] : '',
"Remark" => isset($arrSegmentsRes['Remark']) ? $arrSegmentsRes['Remark'] : '',
"IsETicketEligible" => isset($arrSegmentsRes['IsETicketEligible']) ? $arrSegmentsRes['IsETicketEligible'] : '0',
"FlightStatus" => isset($arrSegmentsRes['FlightStatus']) ? $arrSegmentsRes['FlightStatus'] : '',
"Status" => isset($arrSegmentsRes['Status']) ? $arrSegmentsRes['Status'] : ''
);
$objFlight->addFlightSegmentsDetails($arrSegments);
// FOR FLIGHT SEGMENTS.....
}
}
if ($ICSourceSysId == 7 && count($segmentsResult) > 0) {
$Sequance = 1;
foreach ($segmentsResult as $arrSegmentsRes) {
// FOR FLIGHT SEGMENTS.....
$arrSegments = array(
"AirInvenAPISysId" => $intFlightChildRecordId,
"TripIndicator" => isset($arrSegmentsRes['TripIndicator']) ? $arrSegmentsRes['TripIndicator'] : '0',
"Baggage" => isset($arrSegmentsRes['Baggage']) ? $arrSegmentsRes['Baggage'] : '',
"CabinBaggage" => isset($arrSegmentsRes['CabinBaggage']) ? $arrSegmentsRes['CabinBaggage'] : '',
"SegmentIndicator" => isset($arrSegmentsRes['SegmentIndicator']) ? $arrSegmentsRes['SegmentIndicator'] : '0',
"OriginAirportCode" => isset($arrSegmentsRes['originAirportCode']) ? $arrSegmentsRes['originAirportCode'] : '',
"DestAirportCode" => isset($arrSegmentsRes['destinationAirportCode']) ? $arrSegmentsRes['destinationAirportCode'] : '',
"Duration" => isset($arrSegmentsRes['Duration']) ? $arrSegmentsRes['Duration'] : '0',
"GroundTime" => isset($arrSegmentsRes['TripIndicator']) ? $arrSegmentsRes['TripIndicator'] : '0',
"Mile" => isset($arrSegmentsRes['Mile']) ? $arrSegmentsRes['Mile'] : '0',
"StopOver" => isset($arrSegmentsRes['StopOver']) ? $arrSegmentsRes['StopOver'] : '0',
"StopPoint" => isset($arrSegmentsRes['StopPoint']) ? $arrSegmentsRes['StopPoint'] : '0',
"StopPointArrivalTime" => isset($arrSegmentsRes['StopPointArrivalTime']) ? $arrSegmentsRes['StopPointArrivalTime'] : '0',
"Craft" => isset($arrSegmentsRes['Craft']) ? $arrSegmentsRes['Craft'] : '',
"Remark" => isset($arrSegmentsRes['Remark']) ? $arrSegmentsRes['Remark'] : '',
"IsETicketEligible" => isset($arrSegmentsRes['IsETicketEligible']) ? $arrSegmentsRes['IsETicketEligible'] : '0',
"FlightStatus" => isset($arrSegmentsRes['FlightStatus']) ? $arrSegmentsRes['FlightStatus'] : '',
"Status" => isset($arrSegmentsRes['Status']) ? $arrSegmentsRes['Status'] : ''
);
//die;
$objFlight->addFlightSegmentsDetails($arrSegments);
// FOR FLIGHT SEGMENTS.....
}
}
if ($ICSourceSysId == 7 && count($segmentsResult) > 0) {
$Sequance = 1;
foreach ($segmentsResult as $arrSegmentsRes) {
$FlightNumber = isset($arrSegmentsRes['FlightNumber']) ? $arrSegmentsRes['FlightNumber'] : 0;
$originAirportCode = $arrSegmentsRes['originAirportCode'];
$destinationAirportCode = $arrSegmentsRes['destinationAirportCode'];
$SourcePlaceSysId = !empty($arrCityIds[$originAirportCode]) ? $arrCityIds[$originAirportCode] : '0';
$DestPlaceSysId = !empty($arrCityIds[$destinationAirportCode]) ? $arrCityIds[$destinationAirportCode] : '0';
$Duration = isset($arrSegmentsRes['Duration']) ? $arrSegmentsRes['Duration'] : '0';
$GroundTime = isset($arrSegmentsRes['GroundTime']) ? $arrSegmentsRes['GroundTime'] : '0';
$FlightDuration = $Duration + $GroundTime;
$arrFlightStopsInsert = array(
"TBQAirInvenSysId" => $intFlightChildRecordId,
"SourcePlaceSysId" => $SourcePlaceSysId,
"DestPlaceSysId" => $DestPlaceSysId,
"Sequance" => $Sequance,
"StayDuration" => isset($arrSegmentsRes['GroundTime']) ? $arrSegmentsRes['GroundTime'] : '',
"FlightDuration" => $FlightDuration,
"AirlineCode" => isset($arrSegmentsRes['AirlineCode']) ? $arrSegmentsRes['AirlineCode'] : '',
"AirlineName" => isset($arrSegmentsRes['AirlineName']) ? $arrSegmentsRes['AirlineName'] : '',
"FlightNumber" => isset($arrSegmentsRes['SegFlightNumber']) ? $arrSegmentsRes['SegFlightNumber'] : '',
"FareClass" => isset($arrSegmentsRes['FareClass']) ? $arrSegmentsRes['FareClass'] : '',
"OriginAirportCode" => isset($arrSegmentsRes['originAirportCode']) ? $arrSegmentsRes['originAirportCode'] : '',
"DestinationAirportCode" => isset($arrSegmentsRes['destinationAirportCode']) ? $arrSegmentsRes['destinationAirportCode'] : '',
"IsFlightChange" => 0,
"NewFInvenSysId" => 0, //!empty($NewFInvenSysId)?$NewFInvenSysId:0,
"DepartureTime" => isset($arrSegmentsRes['originDepTime']) ? $arrSegmentsRes['originDepTime'] . ':00' : '',
"ArrivalTime" => isset($arrSegmentsRes['destinationArrTime']) ? $arrSegmentsRes['destinationArrTime'] . ':00' : '',
"HaultInclusions" => '',
"NoOfSeatAvailable" => isset($arrSegmentsRes['NoOfSeatAvailable']) ? $arrSegmentsRes['NoOfSeatAvailable'] : '',
"CurrencyType" => isset($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PublishedFare" => isset($result['Fare']['OfferedFare']) ? (int) round($result['Fare']['OfferedFare']) : 0,
"CommissionEarned" => isset($result['Fare']['CommissionEarned']) ? (int) round($result['Fare']['CommissionEarned']) : 0,
"CreateDate" => date('Y-m-d H:i:s'),
"UpdateDate" => date('Y-m-d H:i:s'),
"IsActive" => 1,
"IsMarkForDelete" => 0
);
$AirStopInvenSysId = $objFlight->addFlightStopsDetails($arrFlightStopsInsert);
$AirInvenSysId = $AirStopInvenSysId;
$Sequance++;
}
}
if ($ICSourceSysId == 3 && count($segmentsResult) > 1) {
$Sequance = 1;
foreach ($segmentsResult as $arrSegmentsRes) {
$FlightNumber = isset($arrSegmentsRes['Airline']['FlightNumber']) ? $arrSegmentsRes['Airline']['FlightNumber'] : 0;
$originAirportCode = $arrSegmentsRes['Origin']['Airport']['AirportCode'];
$destinationAirportCode = $arrSegmentsRes['Destination']['Airport']['AirportCode'];
$SourcePlaceSysId = !empty($arrCityIds[$originAirportCode]) ? $arrCityIds[$originAirportCode] : '0';
$DestPlaceSysId = !empty($arrCityIds[$destinationAirportCode]) ? $arrCityIds[$destinationAirportCode] : '0';
$Duration = isset($arrSegmentsRes['Duration']) ? $arrSegmentsRes['Duration'] : '0';
$GroundTime = isset($arrSegmentsRes['GroundTime']) ? $arrSegmentsRes['GroundTime'] : '0';
$FlightDuration = $Duration + $GroundTime;
$arrFlightStopsInsert = array(
"TBQAirInvenSysId" => $intFlightChildRecordId,
"SourcePlaceSysId" => $SourcePlaceSysId,
"DestPlaceSysId" => $DestPlaceSysId,
"Sequance" => $Sequance,
"StayDuration" => isset($arrSegmentsRes['GroundTime']) ? $arrSegmentsRes['GroundTime'] : '',
"FlightDuration" => $FlightDuration,
"AirlineCode" => isset($arrSegmentsRes['Airline']['AirlineCode']) ? $arrSegmentsRes['Airline']['AirlineCode'] : '',
"AirlineName" => isset($arrSegmentsRes['Airline']['AirlineName']) ? $arrSegmentsRes['Airline']['AirlineName'] : '',
"FlightNumber" => isset($arrSegmentsRes['Airline']['FlightNumber']) ? $arrSegmentsRes['Airline']['FlightNumber'] : '',
"FareClass" => isset($arrSegmentsRes['Airline']['FareClass']) ? $arrSegmentsRes['Airline']['FareClass'] : '',
"OriginAirportCode" => isset($arrSegmentsRes['Origin']['Airport']['AirportCode']) ? $arrSegmentsRes['Origin']['Airport']['AirportCode'] : '',
"DestinationAirportCode" => isset($arrSegmentsRes['Destination']['Airport']['AirportCode']) ? $arrSegmentsRes['Destination']['Airport']['AirportCode'] : '',
"IsFlightChange" => 0,
"NewFInvenSysId" => 0, //!empty($NewFInvenSysId)?$NewFInvenSysId:0,
"DepartureTime" => isset($arrSegmentsRes['Destination']['ArrTime']) ? $arrSegmentsRes['Destination']['ArrTime'] : '',
"ArrivalTime" => isset($arrSegmentsRes['Origin']['DepTime']) ? $arrSegmentsRes['Origin']['DepTime'] : '',
"HaultInclusions" => '',
"NoOfSeatAvailable" => isset($arrSegmentsRes['NoOfSeatAvailable']) ? $arrSegmentsRes['NoOfSeatAvailable'] : 0,
"CurrencyType" => isset($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1',
"PublishedFare" => isset($result['Fare']['OfferedFare']) ? $result['Fare']['OfferedFare'] : $result['FairRules']['PublishedFare'],
"CommissionEarned" => isset($result['Fare']['CommissionEarned']) ? $result['Fare']['CommissionEarned'] : $result['FairRules']['CommissionEarned'],
"CreateDate" => date('Y-m-d H:i:s'),
"UpdateDate" => date('Y-m-d H:i:s'),
"IsActive" => 1,
"IsMarkForDelete" => 0
);
// echo "<pre>";
// print_r($arrFlightStopsInsert);die;
$AirStopInvenSysId = $objFlight->addFlightStopsDetails($arrFlightStopsInsert);
$AirInvenSysId = $AirStopInvenSysId;
$Sequance++;
}
}
}
// InOutBound/InBound Flights Data Ends...
return $AirInvenSysIdArr;
}
} // Foreach ends
// exit;
} catch (Zend_Exception $e) {
print_r($e->getMessage());die;
return $AirInvenSysIdArr;
}
}
}
public function bookNowAction()
{
Zend_Session::namespaceUnset('FlightBookingDataRoundInter');
Zend_Session::namespaceUnset('FlightBookingDataInbound');
Zend_Session::namespaceUnset('FlightBookingData');
$post = json_decode(file_get_contents('php://input'), true);
$roundSelect = isset($post['roundSelect']) ? $post['roundSelect'] : 0;
$SingleSelect = isset($post['SingleSelect']) ? $post['SingleSelect'] : 0;
$ProposaltraceID = isset($post['traceID']) ? $post['traceID'] : 0;
$multiSelect = isset($post['multiSelect']) ? $post['multiSelect'] : [];
if (isset($post['sessionFlightSearchParams']) && !empty($post['sessionFlightSearchParams'])) {
$sessionParams = json_decode($post['sessionFlightSearchParams'], true);
}
$route = ($sessionParams['route']);
$interNationalSearch = ($sessionParams['interNationalSearch']);
$Outbound = json_decode($post['Outbound'], true);
$Inbound = json_decode(($post['Inbound']) ? $post['Inbound'] : json_encode([]), true);
$sessionFlightSearchParams = json_decode(($post['sessionFlightSearchParams']) ? $post['sessionFlightSearchParams'] : json_encode([]), true);
$SearchTraceId = $Outbound['SearchTraceId'];
$ICSourceSysId = $Outbound['ICSourceSysId'];
$bookingAllowed = $Outbound['bookingAllowed'];
if ($ICSourceSysId == 8) {
$sessionParams['departure_dates'] = $Outbound['FromDate'];
$sessionParams['return_dates'] = $Outbound['FromDate'];
}
$objFlight = new Travel_Model_TblFlight();
$FlightTempData = $objFlight->GetFlightTempData($ProposaltraceID);
$arrData = json_decode($FlightTempData['APIBookingData'], true);
$TPSysId = $FlightTempData['TPSysId'];
$bookingAllowed = $this->view->bookingAllowed = isset($arrData['postData']['bookingAllowed']) ? $arrData['postData']['bookingAllowed'] : 0;
// echo "<pre>";
// print_r($bookingAllowed);
// die; //bookingAllowed
$FairRules = [];
if($route == 3 && $interNationalSearch != 1){
if ($Outbound) {
foreach ($Outbound as $key=>$priceVal) {
$FairRules = [];
$SearchTraceId = $priceVal['SearchTraceId'];
$Outbound[$key] = $priceVal;
if ($priceVal['FairRules']) {
foreach ($priceVal['FairRules'] as $price) {
if (in_array($price['PriceID'], $multiSelect)) {
$FairRules = $price;
}
}
}
$Outbound[$key]['FairRules'] = $FairRules;
}
}
}else{
if ($Outbound['FairRules']) {
foreach ($Outbound['FairRules'] as $price) {
if ($price['PriceID'] == $SingleSelect) {
$FairRules = $price;
}
}
}
if ($ICSourceSysId != 3) {
$Outbound['apiTraceId'] = $SingleSelect;
}
$Outbound['FairRules'] = $FairRules;
}
$FlightBookingData = new Zend_Session_Namespace('FlightBookingData');
$FlightBookingDataRoundInter = new Zend_Session_Namespace('FlightBookingDataRoundInter');
$FlightBookingDataInbound = new Zend_Session_Namespace('FlightBookingDataInbound');
//$FlightBookingData->params[0] = $Outbound; // Putting all form data to Session
if($route == 3 && $interNationalSearch != 1){
$FlightBookingData->params = $Outbound; // Putting all form data to Session
}else{
$FlightBookingData->params[0] = $Outbound;
}
$FlightBookingDataRoundInter->params[0] = $Outbound; // Putting all form data to Session
$apiTraceId = $SingleSelect;
if (!empty($Inbound)) {
$RoundFairRules = [];
if ($Inbound['FairRules']) {
foreach ($Inbound['FairRules'] as $price2) {
if ($price2['PriceID'] == $roundSelect) {
$RoundFairRules = $price2;
}
}
}
if ($ICSourceSysId != 3) {
$Outbound['apiTraceId'] = $roundSelect;
}
$Inbound['FairRules'] = $RoundFairRules;
$FlightBookingData->params[1] = $Inbound; // Putting all form data to Session
$FlightBookingDataInbound->params = $Inbound; // Putting all form data to Session
$apiTraceId = $SingleSelect . ',' . $roundSelect;
}
$arrData['FlightBookingData'] = $FlightBookingData->params;
$arrData['apiTraceId'] = $apiTraceId;
$arrData['SearchTraceId'] = $SearchTraceId;
$arrData['AirInvenSysIdArr'] = [];
$sessionFlightSearchParams['bookingAllowed'] = $bookingAllowed;
if (!empty($sessionParams)) {
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
}
$tempData = array(
'TraceId' => $SearchTraceId,
'TPSysId' => $TPSysId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
//$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
if ($FlightBookingData->params) {
if (!empty($ProposaltraceID)) {
$response = array('success' => true, 'message' => 'Plase wait...', 'url' => $this->baseUrl . '/flight-proposal/view-flight-proposal-travellers/data/' . $SearchTraceId . '/id/' . $ProposaltraceID);
echo json_encode($response);
exit;
} else {
$response = array('success' => true, 'message' => 'Plase wait...', 'url' => $this->baseUrl . '/flight/travellers/data/' . $SearchTraceId);
echo json_encode($response);
exit;
}
} else {
$response = array('success' => false, 'message' => 'Oops something went wrong', 'url' => '');
echo json_encode($response);
exit;
}
die('ddd');
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($sessionParams['editLeadId']);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
//$sessionFlightSearchParams = new Zend_Session_Namespace('sessionFlightSearchParams');
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = !empty($sessionFlightSearchParams['return_dates']) ? $sessionFlightSearchParams['return_dates'] : '';
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$origin = $sessionFlightSearchParams['sourceCityAirportCode'];
$destination = $sessionFlightSearchParams['destinationCityAirportCode'];
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
if (!empty($sessionParams)) {
$sessionFlightSearchParams = $sessionParams;
$strFlightRoute = trim($sessionFlightSearchParams['route']);
$interNationalSearch = trim($sessionFlightSearchParams['interNationalSearch']);
$strSourceAirportCode = $sessionFlightSearchParams['from'];
$strDestinationAirportCode = $sessionFlightSearchParams['to'];
$strDepatureDate = $sessionFlightSearchParams['departure_dates'];
$strReturnDate = !empty($sessionFlightSearchParams['return_dates']) ? $sessionFlightSearchParams['return_dates'] : '';
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$origin = $sessionFlightSearchParams['sourceCityAirportCode'];
$destination = $sessionFlightSearchParams['destinationCityAirportCode'];
$intSourceCityId = trim($sessionFlightSearchParams['sourceCityId']);
$intDestinationCityId = trim($sessionFlightSearchParams['destinationCityId']);
}
/* Common Variable For API Call */
$arrDepatureDate = explode("/", $strDepatureDate);
if (!empty($arrDepatureDate) ) {
$strDepatureDate = $arrDepatureDate[2] . "-" . $arrDepatureDate[1] . "-" . $arrDepatureDate[0];
}
if (!empty($strReturnDate)) {
$arrReturnDepatureDate = explode("/", $strReturnDate);
if (!empty($arrReturnDepatureDate) ) {
$strReturnDate = $arrReturnDepatureDate[2] . "-" . $arrReturnDepatureDate[1] . "-" . $arrReturnDepatureDate[0];
}
}
$localFromDateTime = date("Y-m-d h:i", strtotime($strDepatureDate));
$localToDateTime = date("Y-m-d h:i", strtotime($strReturnDate));
$data = $FlightBookingData->params;
$arrCommonInsVariables = array(
'strTraceId' => $apiTraceId,
'localFromDateTime' => $localFromDateTime,
'localToDateTime' => $localToDateTime,
'strSourceAirportCode' => $strSourceAirportCode,
'strDestinationAirportCode' => $strDestinationAirportCode,
'intMemberCount' => $intMemberCount,
'intSourceCityId' => $intSourceCityId,
'intDestinationCityId' => $intDestinationCityId,
'JourneyType' => 1, // For Single Trips API Search
'TripType' => 1,
'interNationalSearch' => isset($interNationalSearch) ? $interNationalSearch : 0
);
// echo "<pre>";
// print_r($data);
// die;
$AirInvenSysIdArr = [];
if (!empty($data) ) {
$objFlight = new Travel_Model_TblFlight();
// For getting All Airlines Array
$objAirline = new Travel_Model_TblAirline();
$arrAirlineList = $objAirline->getAirlineIdsAndCodeList();
// For getting All currency Array
$objCurrency = new Travel_Model_TblCurrency();
$arrCurrencyList = $objCurrency->getCurrencyIdsAndSymbolList();
// For getting All Source & Destination CitySysId Array IsRefundable
$objAirport = new Travel_Model_TblAirport();
$arrCityIds = $objAirport->getCityIdsAndAirPortCodeList();
// Fix Values.....
$strTraceId = $arrCommonInsVariables['strTraceId'];
$localFromDateTime = $arrCommonInsVariables['localFromDateTime'];
$localToDateTime = $arrCommonInsVariables['localToDateTime'];
$strSourceAirportCode = $arrCommonInsVariables['strSourceAirportCode'];
$strDestinationAirportCode = $arrCommonInsVariables['strDestinationAirportCode'];
$intMemberCount = $arrCommonInsVariables['intMemberCount'];
$intSourceCityId = $arrCommonInsVariables['intSourceCityId'];
$intDestinationCityId = $arrCommonInsVariables['intDestinationCityId'];
$intJourneyType = $arrCommonInsVariables['JourneyType'];
$intTripType = $arrCommonInsVariables['TripType'];
$interNationalSearch = isset($arrCommonInsVariables['interNationalSearch']) ? $arrCommonInsVariables['interNationalSearch'] : '0';
//$ICSourceSysId = 7;
$IsFromAgency = 1;
$DayLightSavingDiff = 0;
$AirportHaultMinutes = 0;
$Rating = 0;
$FllightFeatureMask = 0;
$UpdatedByISSysId = $AgentSysId;
$CreatedByISSysId = $AgentSysId;
$ImageTN = '';
$ImgForList = '';
$ImgeDetails = '';
$UpdateDate = date('Y-m-d H:i:s');
$CreateDate = date('Y-m-d H:i:s');
$ApproveBy = $AgentSysId;
$ApprovalDate = date('Y-m-d H:i:s');
$IsApproved = '1';
$IsActive = '1';
$IsMarkForDel = 0;
foreach ($data as $result) {
$ICSourceSysId = $result['ICSourceSysId'];
$ResultIndex = $result['ResultIndex'];
$IsLCC = !empty($result['IsLCC'])?$result['IsLCC']:$result['origin']['IsLCC'];
$IsRefundable = isset($result['IsRefundable']) ? $result['IsRefundable'] : 0;
$AirlineCode = $result['AirlineCode'];
// Fare
$Currency = $result['FairRules']['Currency'];
$currencySysId = !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1';
$BaseFare = $result['FairRules']['BaseFare'];
$Tax = !empty($result['FairRules']['Tax']) ? $result['FairRules']['Tax'] : 0;
$YQTax = !empty($result['FairRules']['YQTax']) ? $result['FairRules']['YQTax'] : 0;
$AdditionalTxnFeeOfrd = $result['FairRules']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['FairRules']['AdditionalTxnFeePub'];
$OtherCharges = $result['FairRules']['OtherCharges'];
$Discount = $result['FairRules']['Discount'];
$PublishedFare = $result['FairRules']['PublishedFare'];
$CommissionEarned = $result['FairRules']['CommEarned'];
$PLBEarned = $result['FairRules']['PLBEarned'];
$IncentiveEarned = $result['FairRules']['IncentiveEarned'];
$OfferedFare = $result['FairRules']['OfferedFare'];
$TdsOnCommission = $result['FairRules']['TdsOnCommission'];
$TdsOnPLB = $result['FairRules']['TdsOnPLB'];
$TdsOnIncentive = $result['FairRules']['TdsOnIncentive'];
$ServiceFee = $result['FairRules']['ServiceFee'];
$ExtraMarkup = $result['FairRules']['ExtraMarkup'];
$ExtraMarkupOnGST = $result['FairRules']['ExtraMarkupOnGST'];
$arrFairRules = array(
"TBOAirInvenAPISysId" => "",
"Currency" => $currencySysId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"PublishedFare" => $PublishedFare,
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"OfferedFare" => $OfferedFare,
"TdsOnCommission" => ($TdsOnCommission) ? $TdsOnCommission : 0,
"TdsOnPLB" => ($TdsOnPLB) ? $TdsOnPLB : 0,
"TdsOnIncentive" => ($TdsOnIncentive) ? $TdsOnIncentive : 0,
"UpdateDate" => $UpdateDate,
"CreateDate" => $CreateDate,
"IsActive" => $IsActive,
"IsMarkForDel" => $IsMarkForDel
);
$strFlightNumber = !empty($result['FlightNumber'])?$result['FlightNumber']:$result['origin']['OrFlightNumber'];
$strFareClass = !empty( $result['FairRules']['FareClass'])?$result['FairRules']['FareClass']: $result['FareClass'];
//$initialOriginDepTime = $result['Segments'][0]['originDepTime'];
$localFromDateTime = $result['LocalFromTime'];
$initialOriginDepTime = $result['FromUTCTime'];
$localToDateTime = $result['LocalToTime'];
$ToUTCTime = $result['ToUTCTime'];
if (!empty($result['Segments'])) {
$FlyingMinutes = 0;
//$initialOriginDepTime = $result['Segments'][0][0]['Origin']['DepTime'];
foreach ($result['Segments'] as $segmentsResult) {
$Duration = $segmentsResult['Duration'];
$FlyingMinutes = $FlyingMinutes + ((isset($segmentsResult['Duration']) ? $segmentsResult['Duration'] : 0) + (!empty($segmentsResult['GroundTime']) ? $segmentsResult['GroundTime'] : (isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : 0)));
$destinationArrTime = $segmentsResult['Destination']['ArrTime'];
// FOR FLIGHT SEGMENTS.....
$strBaggage = $segmentsResult['Baggage'];
$strCabinBaggage = $segmentsResult['CabinBaggage'];
$TripIndicator = $segmentsResult['TripIndicator'];
$SegmentIndicator = $segmentsResult['TripIndicator'];
$AirlineName = $segmentsResult['AirlineName'];
$FlightNumber = $segmentsResult['SegFlightNumber'];
$FareClass = $segmentsResult['FareClass'];
$originAirportCode = $segmentsResult['originAirportCode'];
$originDepTime = $segmentsResult['originDepTime'];
$destinationAirportCode = $segmentsResult['destinationAirportCode'];
$destinationArrTime = $segmentsResult['destinationArrTime'];
$Duration = $segmentsResult['Duration'];
$GroundTime = $segmentsResult['GroundTime'];
$Mile = $segmentsResult['Mile'];
$StopOver = $segmentsResult['StopOver'];
$StopPoint = $segmentsResult['StopPoint'];
$StopPointArrivalTime = $segmentsResult['StopPointArrivalTime'];
$Craft = $segmentsResult['Craft'];
$Remark = $segmentsResult['Remark'];
$IsETicketEligible = $segmentsResult['IsETicketEligible'];
$NoOfSeatAvailable = !empty($segmentsResult['NoOfSeatAvailable']) ? $segmentsResult['NoOfSeatAvailable'] : 0;
$FlightStatus = $segmentsResult['FlightStatus'];
$Status = $segmentsResult['Status'];
$arrSegments = array(
"AirInvenAPISysId" => '',
"TripIndicator" => $TripIndicator,
"Baggage" => $strBaggage,
"CabinBaggage" => $strCabinBaggage,
"SegmentIndicator" => ($SegmentIndicator) ? $SegmentIndicator : 1,
"Duration" => $Duration,
"GroundTime" => $GroundTime,
"Mile" => $Mile,
"StopOver" => $StopOver,
"StopPoint" => $StopPoint,
"StopPointArrivalTime" => $StopPointArrivalTime,
"Craft" => $Craft,
"Remark" => $Remark,
"IsETicketEligible" => $IsETicketEligible,
"FlightStatus" => $FlightStatus,
"Status" => $Status
);
// FOR FLIGHT SEGMENTS.....
}
}
// Fare
$airlineSysId = !empty($arrAirlineList[$result['AirlineCode']]) ? $arrAirlineList[$result['AirlineCode']] : '0';
$FlyingMinutes = $FlyingMinutes;
if (count($result['Segments']) > 1) {
$SegmentsCount = count($result['Segments']);
$StopCount = $SegmentsCount - 1;
$IsDirect = '0';
} else {
$StopCount = '0';
$IsDirect = '1';
}
$arrInsertFlightData = array();
$arrInsertFlightData['FlightNumber'] = $strFlightNumber;
$arrInsertFlightData['AirInvenSysId'] = 0;
$arrInsertFlightData['IsLCC'] = $IsLCC;
$arrInsertFlightData['IsRefundable'] = $IsRefundable;
$arrInsertFlightData['apiTraceId'] = $strTraceId;
$arrInsertFlightData['AirlineSysId'] = $airlineSysId;
$arrInsertFlightData['ICSourceSysId'] = $ICSourceSysId;
$arrInsertFlightData['IsFromAgency'] = $IsFromAgency;
$arrInsertFlightData['LocalFromTime'] = $localFromDateTime;
$arrInsertFlightData['FromUTCTime'] = str_replace('T', ' ', $initialOriginDepTime);
$arrInsertFlightData['LocalToTime'] = str_replace('T', ' ', $localToDateTime);
$arrInsertFlightData['ToUTCTime'] = str_replace('T', ' ', $ToUTCTime);
$arrInsertFlightData['IsDirect'] = $IsDirect;
$arrInsertFlightData['FareClass'] = $strFareClass;
$arrInsertFlightData['DayLightSavingDiff'] = $DayLightSavingDiff;
$arrInsertFlightData['FlyingMinutes'] = $FlyingMinutes;
$arrInsertFlightData['SourcePlaceSysId'] = $intSourceCityId;
$arrInsertFlightData['DestPlaceSysId'] = $intDestinationCityId;
$arrInsertFlightData['SourceAirportCode'] = $strSourceAirportCode;
$arrInsertFlightData['DestAirportCode'] = $strDestinationAirportCode;
$arrInsertFlightData['AirportHaultMinutes'] = $AirportHaultMinutes;
$arrInsertFlightData['StopCount'] = $StopCount;
$arrInsertFlightData['Stops'] = '';
$arrInsertFlightData['NoOfSeatAvailable'] = $NoOfSeatAvailable;
$arrInsertFlightData['TotalFlightMembers'] = $intMemberCount;
$arrInsertFlightData['CurrencyType'] = $currencySysId;
$arrInsertFlightData['PublishedFare'] = $OfferedFare; // As Discussed with GG
$arrInsertFlightData['CommissionEarned'] = $CommissionEarned;
$arrInsertFlightData['ApiResultIndex'] = $strTraceId;
$arrInsertFlightData['JourneyType'] = $intJourneyType;
$arrInsertFlightData['TripType'] = $intTripType;
$arrInsertFlightData['Rating'] = $Rating;
$arrInsertFlightData['FllightFeatureMask'] = $FllightFeatureMask;
$arrInsertFlightData['UpdatedByISSysId'] = $UpdatedByISSysId;
$arrInsertFlightData['CreatedByISSysId'] = $CreatedByISSysId;
$arrInsertFlightData['ImageTN'] = $ImageTN;
$arrInsertFlightData['ImgForList'] = $ImgForList;
$arrInsertFlightData['ImgeDetails'] = $ImgeDetails;
$arrInsertFlightData['UpdateDate'] = $UpdateDate;
$arrInsertFlightData['CreateDate'] = $CreateDate;
$arrInsertFlightData['ApproveBy'] = $ApproveBy;
$arrInsertFlightData['ApprovalDate'] = $ApprovalDate;
$arrInsertFlightData['IsApproved'] = $IsApproved;
$arrInsertFlightData['IsActive'] = $IsActive;
$arrInsertFlightData['IsMarkForDel'] = $IsMarkForDel;
$arrInsertFlightData['IsInternational'] = !empty($interNationalSearch) ? $interNationalSearch : 0;
// echo '<pre>';
// print_r($arrInsertFlightData);
// echo '</pre>';
$intFlightLastInsertId = $objFlight->addFlightDetails($arrInsertFlightData);
$AirInvenSysId = $AirInvenSysIdArr[] = $intFlightLastInsertId;
// FOR FLIGHT FAIR-RULES.....
try {
$arrFairRules['TBOAirInvenAPISysId'] = $AirInvenSysId;
$objFlight->addFlightFairRuleDetails($arrFairRules);
} catch (Exception $e) {
echo $e->getMessage();
}
// die('ww');
// FOR FLIGHT FAIR-RULES.....
// FOR FLIGHT SEGMENTS.....
try {
$arrSegments['AirInvenAPISysId'] = $AirInvenSysId;
$objFlight->addFlightSegmentsDetails($arrSegments);
} catch (Exception $e) {
echo $e->getMessage();
}
// FOR FLIGHT SEGMENTS.....
if (!empty($result['FairRules']['FareBreakdown']) ) {
foreach ($result['FairRules']['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = isset($fareBreakdown['Tax']) ? $fareBreakdown['Tax'] : $fareBreakdown['TaxIN'];
$YQTax = isset($fareBreakdown['YQTax']) ? $fareBreakdown['YQTax'] : $fareBreakdown['YQ'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$intCommisionEarnedForAgency = isset($fareBreakdown['CommissionEarned']) ? $fareBreakdown['CommissionEarned'] : 0; // New fields
$OtherCharges = isset($fareBreakdown['OtherCharges']) ? $fareBreakdown['OtherCharges'] : 0; // New fields
$FixedMarkUp = isset($fareBreakdown['FixedMarkUp']) ? $fareBreakdown['FixedMarkUp'] : 0; // New fields
$GSTOnMarkUp = isset($fareBreakdown['GSTOnMarkUp']) ? $fareBreakdown['GSTOnMarkUp'] : 0; // New fields
$DiscountValue = isset($fareBreakdown['DiscountValue']) ? $fareBreakdown['DiscountValue'] : 0; // New fields
$arrFareBreakdown = array(
"TBQAirInvenAPISysId" => $AirInvenSysId,
"Currency" => $currencySysId,
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => ($BaseFare) ? $BaseFare : 0,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"CommissionEarned" => ($intCommisionEarnedForAgency),
"OtherCharges" => $OtherCharges,
"FixedMarkUp" => $FixedMarkUp,
"GSTOnMarkUp" => $GSTOnMarkUp,
"Discount" => $DiscountValue,
);
$objFlight->addFlightFareBreakdown($arrFareBreakdown);
}
}
if ($IsDirect == 0) {
$tempFlightNumber = "";
$IsFlightChange = 0;
//$changedFlightNumber = "";
$FlyingMinutes = 0;
$intSegmentsCount = 0;
//$firstFlightNumber = "";
foreach ($result['Segments'] as $sgkey=>$segmentsResult) {
$isReturnSegment = isset($segmentsResult['isReturnSegment'])?$segmentsResult['isReturnSegment']:0;
$TripIndicator = $segmentsResult['TripIndicator'];
$SegmentIndicator = $segmentsResult['TripIndicator'];
$FlightNumber = $segmentsResult['SegFlightNumber'];
// if($firstFlightNumber == ""){
// $firstFlightNumber = $FlightNumber;
// }
if (!empty($tempFlightNumber) && $tempFlightNumber != $FlightNumber) {
$IsFlightChange = 1;
$NewFInvenSysId = $AirInvenSysId;
} elseif (!empty($tempFlightNumber) && $tempFlightNumber == $FlightNumber) {
$IsFlightChange = 2;
$NewFInvenSysId = $AirInvenSysId;
} else {
$IsFlightChange = 0;
$NewFInvenSysId = '';
}
$tempFlightNumber = $FlightNumber;
$AirlineName = $segmentsResult['AirlineName'];
$FareClass = $segmentsResult['FareClass'];
$originAirportCode = $segmentsResult['originAirportCode'];
$originDepTime = $segmentsResult['originDepTime'];
$destinationAirportCode = $segmentsResult['destinationAirportCode'];
$destinationArrTime = $segmentsResult['destinationArrTime'];
$SourcePlaceSysId = !empty($arrCityIds[$originAirportCode]) ? $arrCityIds[$originAirportCode] : '0';
$DestPlaceSysId = !empty($arrCityIds[$destinationAirportCode]) ? $arrCityIds[$destinationAirportCode] : '0';
$Duration = $segmentsResult['Duration'];
$FlyingMinutes = $FlyingMinutes + ((isset($segmentsResult['Duration']) ? $segmentsResult['Duration'] : 0) + (!empty($segmentsResult['GroundTime']) ? $segmentsResult['GroundTime'] : (isset($segmentsResult['AccumulatedDuration']) ? $segmentsResult['AccumulatedDuration'] : 0)));
$GroundTime = $segmentsResult['GroundTime'];
$Mile = $segmentsResult['Mile'];
$StopOver = $segmentsResult['StopOver'];
$StopPoint = $segmentsResult['StopPoint'];
$StopPointArrivalTime = $segmentsResult['StopPointArrivalTime'];
$StopPointDepartureTime = $segmentsResult['StopPointDepartureTime'];
$Craft = $segmentsResult['Craft'];
$Remark = $segmentsResult['Remark'];
$IsETicketEligible = $segmentsResult['IsETicketEligible'];
$NoOfSeatAvailable = !empty($segmentsResult['NoOfSeatAvailable']) ? $segmentsResult['NoOfSeatAvailable'] : 0;
$FlightStatus = $segmentsResult['FlightStatus'];
$Status = $segmentsResult['Status'];
try {
$arrFlightStopsInsert = array(
"TBQAirInvenSysId" => $AirInvenSysId,
"SourcePlaceSysId" => $SourcePlaceSysId,
"Sequance" => $intSegmentsCount,//($SegmentIndicator) ? $SegmentIndicator : 1,
"DestPlaceSysId" => $DestPlaceSysId,
"StayDuration" => $GroundTime,
"FlightDuration" => $Duration,
"AirlineCode" => $AirlineCode,
"AirlineName" => $AirlineName,
"FlightNumber" => $FlightNumber,
"FareClass" => $FareClass,
"NoOfSeatAvailable" => $NoOfSeatAvailable,
"OriginAirportCode" => $originAirportCode,
"DestinationAirportCode" => $destinationAirportCode,
"IsFlightChange" => $IsFlightChange,
"NewFInvenSysId" => $NewFInvenSysId,
"ArrivalTime" => str_replace('T', ' ', $originDepTime),
"DepartureTime" => str_replace('T', ' ', $destinationArrTime),
"HaultInclusions" => '',
"CurrencyType" => $currencySysId,
"PublishedFare" => $PublishedFare,
"CommissionEarned" => ($CommissionEarned) ? $CommissionEarned : 0,
"CreateDate" => $CreateDate,
"UpdateDate" => $UpdateDate,
"IsActive" => $IsActive,
"IsMarkForDelete" => $IsMarkForDel
);
// echo '<pre>';
// print_r($arrFlightStopsInsert);
// echo '</pre>';
$objFlight->addFlightStopsDetails($arrFlightStopsInsert);
$intSegmentsCount++;
} catch (Exception $e) {
echo $e->getMessage();exit;
}
}
}
} // Foreach ends
}
//$TraceId = implode('-', str_split(substr(strtolower(md5(time() . rand(1000, 9999))), 0, 20), 5));
$arrData['AirInvenSysIdArr'] = $AirInvenSysIdArr;
$sessionFlightSearchParams['bookingAllowed'] = $bookingAllowed;
if (!empty($sessionParams)) {
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
}
$tempData = array(
'TraceId' => $SearchTraceId,
'TPSysId' => $TPSysId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
//$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
if ($FlightBookingData->params) {
if (!empty($ProposaltraceID)) {
$response = array('success' => true, 'message' => 'Plase wait...', 'url' => $this->baseUrl . '/flight-proposal/view-flight-proposal-travellers/data/' . $SearchTraceId . '/id/' . $ProposaltraceID);
echo json_encode($response);
exit;
} else {
$response = array('success' => true, 'message' => 'Plase wait...', 'url' => $this->baseUrl . '/flight/travellers/data/' . $SearchTraceId);
echo json_encode($response);
exit;
}
} else {
$response = array('success' => false, 'message' => 'Oops something went wrong', 'url' => '');
echo json_encode($response);
exit;
}
}
public function viewmoreAction()
{
$post = json_decode(file_get_contents('php://input'), true);
if ($post['item']) {
$PriceID = $post['PriceID'];
$FairRules = [];
if ($post['item']['FairRules']) {
foreach ($post['item']['FairRules'] as $price) {
if ($price['PriceID'] == $PriceID) {
$FairRules = $price;
}
}
}
$post['item']['FairRules'] = $FairRules;
$ArrayData[0] = $post['item'];
// echo '<pre>';
// print_r($ArrayData);
// die;
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->CurrencyTitle = $this->CurrencyTitle;
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('Data' => $ArrayData, 'DataInbound' => [], 'CurrencyRate' => $this->CurrencyRate, 'CurrencyTitle' => $this->CurrencyTitle));
$bodyText = $html->render('viewmore.phtml');
$response = array('success' => true, 'message' => 'success', 'html' => $bodyText);
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'message' => 'failed', 'html' => '');
echo json_encode($response);
exit;
}
}
public function getflightfarerulesAction()
{
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$getData = $this->getRequest()->getParams();
$sessionFlightSearchParams = json_decode($getData['sessionFlightSearchParams'], true);
$FlightBooking = json_decode($getData['intOutBoundId'], true);
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$supplier = $getData['supplier'];
$Pages = isset($getData['Pages'])?$getData['Pages']:'';
$adultCount = $sessionFlightSearchParams['adults'];
$childCount = $sessionFlightSearchParams['child'];
$infantCount = $sessionFlightSearchParams['infant'];
$leadId = $sessionFlightSearchParams['editLeadId'];
$interNationalSearch = $sessionFlightSearchParams['interNationalSearch'];
$ApiResultIndexRequest = isset($getData['ApiResultIndex'])?$getData['ApiResultIndex']:$getData['TraceId'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
if($Pages == 'Review'){
$FlightBooking = $FlightBooking[0];
if($FlightBooking['ICSourceSysId'] == 7){
$supplier = 1;
}else{
$supplier = 2;
}
}
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$intMemberCount = $adultCount + $childCount + $infantCount;
$intMarkUp = $this->getCancelCharge($intCountryCode, $AgencySysId);
$IsSeriesFareData = isset($FlightBooking['IsSeriesFareData']) ? $FlightBooking['IsSeriesFareData'] : 0;
$ICSourceSysId = isset($FlightBooking['ICSourceSysId']) ? $FlightBooking['ICSourceSysId'] : 0;
$apiTraceId = isset($FlightBooking['apiTraceId']) ? $FlightBooking['apiTraceId'] : 0;
$FareRuleData = isset($FlightBooking['FareRuleData']) ? $FlightBooking['FareRuleData'] : 0;
$FareRulesCancel = [];
// echo '<pre>';
// print_r($ICSourceSysId);
// echo '<pre>';
// print_r($FlightBooking);
// die;
if($Pages == 'Review' && $ICSourceSysId == 7){
$apiResponse = $FareRuleData;
$FareRulesCancel = $FareRuleData;
}else{
if ($ICSourceSysId == 7) {
$getData['flowType'] = 'SEARCH';
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->GetApiFlightsFareRulesTripJack($getData, $AgencySysId);
$FareRules = isset($apiResponse['fareRule']) ? $apiResponse['fareRule'] : [];
$success = $apiResponse['status']['success'];
if ($success && $FareRules) {
foreach ($FareRules as $key => $val) {
$CANCELLATION = isset($val['tfr']['CANCELLATION']) ? $val['tfr']['CANCELLATION'] : '';
$DATECHANGE = isset($val['tfr']['DATECHANGE']) ? $val['tfr']['DATECHANGE'] : '';
$NO_SHOW = isset($val['tfr']['NO_SHOW']) ? $val['tfr']['NO_SHOW'] : '';
$SEAT_CHARGEABLE = isset($val['tfr']['SEAT_CHARGEABLE']) ? $val['tfr']['SEAT_CHARGEABLE'] : '';
$cancel = [];
if($CANCELLATION){
foreach($CANCELLATION as $keys=>$cl){
$policyInfo_ = isset($cl['policyInfo']) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Airline Cancellation Charges + Taxes + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$cancel[$keys] = $cl;
$cancel[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$cancel[$keys]['amount'] = $amount;
$cancel[$keys]['sector'] = $key;
$cancel[$keys]['policyInfo'] = $policyInfo_;
$cancel[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$cancel[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$cancel[0]['sector'] = $key;
$cancel[0]['TimeFrame'] = 'As Per Airline';
$cancel[0]['policyInfo'] = ['As Per Airline'];
}
$datechange = [];
if($DATECHANGE){
foreach($DATECHANGE as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Difference in Fare + Taxes + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$datechange[$keys] = $cl;
$datechange[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$datechange[$keys]['amount'] = $amount;
$datechange[$keys]['sector'] = $key;
$datechange[$keys]['policyInfo'] = $policyInfo_;
$datechange[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$datechange[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$datechange[0]['sector'] = $key;
$datechange[0]['TimeFrame'] = 'As Per Airline';
$datechange[0]['policyInfo'] = ['As Per Airline'];
}
$noshow = [];
if($NO_SHOW){
foreach($NO_SHOW as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['Fees As Per Airline Rule + Surcharges'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$noshow[$keys] = $cl;
$noshow[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$noshow[$keys]['amount'] = $amount;
$noshow[$keys]['sector'] = $key;
$noshow[$keys]['policyInfo'] = $policyInfo_;
$noshow[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$noshow[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$noshow[0]['sector'] = $key;
$noshow[0]['TimeFrame'] = 'As Per Airline';
$noshow[0]['policyInfo'] = ['As Per Airline'];
}
$seatchange = [];
if($SEAT_CHARGEABLE){
foreach($SEAT_CHARGEABLE as $keys=>$cl){
$policyInfo_ = (isset($cl['policyInfo']) && !empty($cl['policyInfo'])) ? array_values(array_filter(explode('__nls__',$cl['policyInfo']))) : ['As per Airlines'];
$startTime = (isset($cl['st']) && !empty($cl['st']))?$cl['st']:0;
$endTime = (isset($cl['et']) && !empty($cl['et']))?$cl['et']:0;
$additionalFee = (isset($cl['additionalFee']) && !empty($cl['additionalFee']))?$cl['additionalFee']:0;
$amount = (isset($cl['amount']) && !empty($cl['amount']))?$cl['amount']:0;
$policyperiod = (isset($cl['pp']) && !empty($cl['pp']))?$cl['pp']:'';
$st = $this->hoursTodays($startTime);
$et = $this->hoursTodays($endTime);
$TimeFrame = $st.' to '.$et;
$seatchange[$keys] = $cl;
$seatchange[$keys]['CurrencyTitle'] = $this->CurrencyTitle;
$seatchange[$keys]['amount'] = $amount;
$seatchange[$keys]['sector'] = $key;
$seatchange[$keys]['policyInfo'] = $policyInfo_;
$seatchange[$keys]['TimeFrame'] = (!empty($policyperiod))?$policyperiod:$TimeFrame;
$seatchange[$keys]['additionalFee'] = round($additionalFee + (float) ($intMarkUp * $intMemberCount));
}
}else{
$seatchange[0]['sector'] = $key;
$seatchange[0]['TimeFrame'] = 'As Per Airline';
$seatchange[0]['policyInfo'] = ['Fees As Per Airline Rule + Surcharges'];
}
$FareRulesCancel['CANCELLATION'] = $cancel;
$FareRulesCancel['DATECHANGE'] = $datechange;
$FareRulesCancel['NO_SHOW'] = $noshow;
$FareRulesCancel['SEAT_CHARGEABLE'] = $seatchange;
}
}
} elseif ($ICSourceSysId == 3) {
$getData['ResultIndex'] = $ApiResultIndexRequest;
$getData['TraceId'] = $apiTraceId;
$apiResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->fareRuleDetails($getData, $AgencySysId);
}
}
// echo '<pre>';
// print_r($FareRulesCancel);
// echo '</pre>';die;
$this->view->apiResponse = $apiResponse;
$this->view->FareRulesCancel = $FareRulesCancel;
$this->view->getData = $getData;
$this->view->intMarkUp = ((int)$intMarkUp * (int)$intMemberCount);
$this->view->IsLCC = $getData['IsLCC'];
$this->view->ICSourceSysId = $ICSourceSysId;
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('apiResponse' => $apiResponse,'FareRulesCancel'=>$FareRulesCancel, 'getData' => $getData, 'interNationalSearch' => $interNationalSearch, 'intMarkUp' => ((int)$intMarkUp * (int)$intMemberCount), 'supplier' => $supplier, 'ICSourceSysId' => $ICSourceSysId, 'FlightBooking' => $FlightBooking, 'IsLCC' => $getData['IsLCC']));
$bodyText = $html->render('getflightfarerules.phtml');
$response = array('success' => true, 'message' => 'success', 'html' => $bodyText);
echo json_encode($response);
exit;
} else {
die('Page not found!');
}
}
public function hoursTodays($hours){
$hid = 24; // Hours in a day - could be 24, 8, etc
if($hours > $hid){
$days = round($hours/$hid);
}else{
$days = -1;
}
$Final = '';
if( $days < 0 )
{
$Final = "$hours hrs";
}
else
{
$Final = "$days days";
}
return $Final;
}
public function viewFlightProposalTravellersAction()
{
$objFlight = new Travel_Model_TblFlight();
$traceID = $this->view->traceID = ($this->_request->getParam('id'));
$data = $this->view->data = ($this->_request->getParam('data'));
$GeoCountry = $this->view->GeoCountry = $objFlight->GetGeoCountry();
$FlightTempData = $objFlight->GetFlightTempData($data);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$FlightBookingData = $arrUrlData['FlightBookingData'];
$AirInvenSysIdArr = $arrUrlData['AirInvenSysIdArr'];
$apiTraceId = $arrUrlData['apiTraceId'];
$sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$param = $this->getRequest()->getParams();
$leadId = $sessionFlightSearchParams['editLeadId'];
// echo "<pre>";
// print_r($sessionFlightSearchParams);
// die;
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$departureDates = $sessionFlightSearchParams['departure_dates'];
$route = $sessionFlightSearchParams['route'];
if($route == '3'){
$departureDates = $sessionFlightSearchParams['departure_dates'][0];
}
$arrDepartureDates = explode("/", $departureDates);
$this->view->departureDates = $arrDepartureDates[2] . "/" . $arrDepartureDates[1] . "/" . ($arrDepartureDates[0] - 1);
$this->view->departureMonthInfant = $arrDepartureDates[1];
$this->view->departureDayInfant = ($arrDepartureDates[0] + 1);
$this->view->departureMonthChild = $arrDepartureDates[1];
$this->view->departureDayChild = ($arrDepartureDates[0]);
$this->view->intFlightRoute = $intFlightRoute = isset($sessionFlightSearchParams['route']) ? $sessionFlightSearchParams['route'] : 0;
$this->view->intAdultsCount = $adultCount = isset($sessionFlightSearchParams['adults']) ? $sessionFlightSearchParams['adults'] : 0;
$this->view->intChildrenCount = $childCount = isset($sessionFlightSearchParams['child']) ? $sessionFlightSearchParams['child'] : 0;
$this->view->intInfantCount = $infantCount = isset($sessionFlightSearchParams['infant']) ? $sessionFlightSearchParams['infant'] : 0;
$this->view->totalPaxCount = $adultCount + $childCount + $infantCount;
$this->view->bookingAllowed = $bookingAllowed;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId, 'query');
$AgencySysId = $this->view->AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$arrPaxCount = array(
'intAdultsCount' => $adultCount,
'intChildCount' => $childCount,
'intInfantCount' => $infantCount
);
$this->view->arrPaxCount = $arrPaxCount;
$ARR_SALUTION = unserialize(ARR_SALUTION);
$ARR_CUSTOMER_RELATION = unserialize(ARR_CUSTOMER_RELATION);
$this->view->ARR_CUSTOMER_RELATION = $ARR_CUSTOMER_RELATION;
$this->view->ARR_SALUTION = $ARR_SALUTION;
$this->view->FlightBookingData = $FlightBookingData;
$this->view->AirInvenSysIdArr = json_encode($AirInvenSysIdArr);
$this->view->apiTraceId = ($apiTraceId);
$roomjson = array();
// $roomjson[1]['Adult'] = $adultCount;
// $roomjson[1]['Child'] = $childCount;
// $roomjson[1]['paxType'] = 1;
$intPaxCount = 1;
for ($i = 1; $i <= $adultCount; $i++) {
$roomjson[$i]['Title'] = 'Adult';
$roomjson[$i]['paxType'] = 1;
$roomjson[$i]['intPaxCount'] = $intPaxCount;
$intPaxCount++;
}
if (!empty($childCount)) {
$intPaxCount = 1;
for ($j = $i; $j <= ($adultCount + $childCount); $j++) {
$roomjson[$j]['Title'] = 'Child';
$roomjson[$j]['paxType'] = 2;
$roomjson[$j]['intPaxCount'] = $intPaxCount;
$intPaxCount++;
}
}
$this->view->roomjson = $roomjson;
$this->view->traceId = $arrUrlData['apiTraceId'];
$this->view->SearchTraceId = $arrUrlData['SearchTraceId'];
$this->view->param = $param;
$this->view->sessionFlightSearchParams = $sessionFlightSearchParams;
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$customerDetails = isset($sessionFlightSearchParams['customerID']) ? $this->_crmcustomerObj->GetAgencyCustomerById(trim($sessionFlightSearchParams['customerID'])) : '';
$this->view->arrTrevllerDetails = $customerDetails;
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->CurrencyTitle = $this->CurrencyTitle;
}
public function farebreackupmobileAction()
{
$this->_helper->layout->disableLayout();
$param = $this->getRequest()->getParams();
// echo "<pre>";
// print_r($param);
// die;
$sessionFlightSearchParams = json_decode($param['sessionFlightSearchParams'], true);
$SelectedMeal = json_decode($param['SelectedMeal'], true);
$SelectedBagg = json_decode($param['SelectedBagg'], true);
$SelectedSeat = json_decode($param['SelectedSeat'], true);
$FlightBookingData = json_decode(base64_decode($param['intOutBoundId']), true);
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->baseUrl = $this->baseUrl;
$this->view->Data = $FlightBookingData;
$this->view->SelectedMealSessionNew = $SelectedMeal;
$this->view->SelectedBaggSessionNew = $SelectedBagg;
$this->view->selectedSeatSession = $SelectedSeat;
$this->view->sessionFlightSearchParams = $sessionFlightSearchParams;
}
public function viewFlightProposalPaymentAction()
{
$objFlight = new Travel_Model_TblFlight();
$traceID = $this->view->traceID = ($this->_request->getParam('id', NULL));
$data = $this->view->data = ($this->_request->getParam('data', NULL));
$isagencySession = new Zend_Session_Namespace('isagencySession');
$isagency = $this->view->isagencySession = isset($isagencySession->params) ? $isagencySession->params : 0;
if ($data && $traceID) {
$FlightTempData = $objFlight->GetFlightTempData($data);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$FlightBookingData = $this->view->FlightBookingData = $arrUrlData['intOutBoundId'];
$SelectedBaggSessionNew = $this->view->SelectedBaggSessionNew = $arrUrlData['SelectedBaggSessionNew'];
$SelectedMealSessionNew = $this->view->SelectedMealSessionNew = $arrUrlData['SelectedMealSessionNew'];
$selectedSeatSession = $this->view->selectedSeatSession = $arrUrlData['selectedSeatSession'];
$intCustomerSysId = $this->view->intCustomerSysId = $arrUrlData['intCustomerSysId'];
$intTPSysId = $this->view->intTPSysId = $arrUrlData['intTPSysId'];
$arrIntTpAirId = $this->view->arrIntTpAirId = $arrUrlData['arrIntTpAirId'];
$IsTripjack = $this->view->IsTripjack = $arrUrlData['IsTripjack'];
$AirInvenSysIdArr = $arrUrlData['AirInvenSysIdArr'];
$apiTraceId = $arrUrlData['apiTraceId'];
$sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$param = $this->getRequest()->getParams();
$leadId = $sessionFlightSearchParams['editLeadId'];
$this->view->trace_IDs = $data;
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->CurrencyTitle = $this->CurrencyTitle;
$this->view->intFlightRoute = $intFlightRoute = isset($sessionFlightSearchParams['route']) ? $sessionFlightSearchParams['route'] : 0;
$this->view->intAdultsCount = $adultCount = isset($sessionFlightSearchParams['adults']) ? $sessionFlightSearchParams['adults'] : 0;
$this->view->intChildrenCount = $childCount = isset($sessionFlightSearchParams['child']) ? $sessionFlightSearchParams['child'] : 0;
$this->view->intInfantCount = $infantCount = isset($sessionFlightSearchParams['infant']) ? $sessionFlightSearchParams['infant'] : 0;
$this->view->route = $route = isset($sessionFlightSearchParams['route']) ? $sessionFlightSearchParams['route'] : 0;
$this->view->interNationalSearch = $interNationalSearch = isset($sessionFlightSearchParams['interNationalSearch']) ? $sessionFlightSearchParams['interNationalSearch'] : 0;
$intTatalPaxCTForMarkUp = $adultCount + $childCount + $infantCount;
$intCountryCode = $sessionFlightSearchParams['intCountryCode'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$objAgency = new Travel_Model_TblAgency();
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId, 'query');
$AgencySysId = $this->view->AgencySysId = $arrAgencyDetails['AgencySysId'];
$objPaymentDetail = new Payment_Model_Payment();
$objPaymentDetail = new Payment_Model_Payment();
$getPaymentCompanyName = $objPaymentDetail->getPaymentCompanyNameAllDetail($AgencySysId);
$PaymentMerchantId = $getPaymentCompanyName['PaymentMerchantId'];
$PaymentOption = $getPaymentCompanyName['PaymentOption'];
$this->view->getPaymentCompanyName = $PaymentOption;
$this->view->PaymentMerchantId = $PaymentMerchantId;
// echo "<pre>";
// print_r($getPaymentCompanyName);
// echo "</pre>";die;
// if ($getPaymentCompanyName > 0) {
// $this->view->getPaymentCompanyName = $getPaymentCompanyName;
// } else {
// $this->view->getPaymentCompanyName = 1;
// }
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$this->view->CurrencySymbol = $AgencyBaseCurrency = $arrAgencyDetails['TrxCurrency'];
$intNetPublishedFare = 0;
$intGTXMarkUpForStringData = 0;
$AgentsCustomServiceTaxAmount = 0;
$AgentsCustomMarkUp = 0;
$GSTOnMarkUp = 0;
$CommEarned = 0;
$FixedMarkUp = 0;
$TotalTaxsandFees = 0;
$TotalBaseFare = 0;
$TotalExtraMarkUpSum = 0;
$TotalDiscountValueSum = 0;
$SegmentsArr = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $Data) {
$ExtraMarkup = isset($Data['FairRules']['ExtraMarkup']) ? $Data['FairRules']['ExtraMarkup'] : 0;
$ExtraMarkupOnGST = isset($Data['FairRules']['ExtraMarkupOnGST']) ? $Data['FairRules']['ExtraMarkupOnGST'] : 0;
$DiscountValue = isset($Data['FairRules']['DiscountValue']) ? $Data['FairRules']['DiscountValue'] : 0;
$AgentsCustomMarkUp += $ExtraMarkup;
$AgentsCustomServiceTaxAmount += $ExtraMarkupOnGST;
$TotalExtraMarkUpSum += ($ExtraMarkup + $ExtraMarkupOnGST);
$TotalDiscountValueSum += ($DiscountValue);
$CommEarned += isset($Data['FairRules']['CommEarned']) ? $Data['FairRules']['CommEarned'] : 0;
$FixedMarkUp += isset($Data['FairRules']['FixedMarkUp']) ? $Data['FairRules']['FixedMarkUp'] : 0;
$GSTOnMarkUp += isset($Data['FairRules']['GSTOnMarkUp']) ? $Data['FairRules']['GSTOnMarkUp'] : 0;
$intGTXMarkUpForStringData += isset($Data['FairRules']['intGTXMarkUp']) ? $Data['FairRules']['intGTXMarkUp'] : 0;
// $intNetPublishedFare += $Data['FairRules']['intPublishedFare'] + $ExtraMarkup + $ExtraMarkupOnGST;
$intNetPublishedFare += $Data['FairRules']['PublishedFare'];
if ($Data['FairRules']['FareBreakdown']) {
foreach ($Data['FairRules']['FareBreakdown'] as $value) {
$TDS = $value['TDS']; //Management Fee
$MF = $value['MF']; //Management Fee
$YQ = $value['YQ']; //Fuel Surcharge
$AGST = $value['AGST']; //Airline GST Component
$MFT = $value['MFT']; //Management Fee Tax
$OT = $value['OT']; //Other Charges
$YR = $value['YR'];
$other = $MF + $YQ + $AGST + $MFT + $OT + $YR;
$PBaseFare = $value['BaseFare'];
$CommEarned = $value['CommEarned'];
$intGTXMarkUp = $value['intGTXMarkUp'];
$GTXMarkUpGST = $value['GTXMarkUpGST'];
$apiMarkup = $value['apiMarkup'];
$FixedMarkUp = $value['FixedMarkUp'];
$intTotalGST = $value['intTotalGST'];
$IntCommission = $value['IntCommission'];
$CommissionEarned = $value['CommissionEarned'];
$OtherCharges = isset($value['OtherCharges']) ? $value['OtherCharges'] : 0;
$customerDiscount = ($CommissionEarned - $IntCommission);
$PassengerType = $value['PassengerType'];
$PassengerCount = $value['PassengerCount'];
$otherCharge = (($YQ + $AGST + $MFT + $MF + $OT + $YR + $intGTXMarkUp + $GTXMarkUpGST + $OtherCharges) - ($customerDiscount));
$TaxesFees = ($otherCharge + $intTotalGST + $FixedMarkUp + $apiMarkup);
$TotalBaseFare += ($PBaseFare);
$TotalTaxsandFees += ($TaxesFees);
}
}
// echo "<pre>";
// print_r($Data['FairRules']);
// echo "</pre>";
foreach ($Data['Segments'] as $seg) {
$SegmentsArr[] = $seg;
}
}
}
$BagPrice = 0;
$InbBagPrice = 0;
$MealPrice = 0;
$InbMealPrice = 0;
$SeatPrice = 0;
if ($SelectedBaggSessionNew) {
foreach ($SelectedBaggSessionNew as $values) {
foreach ($values as $val) {
$BagPrice += $val['Price'];
}
}
}
if ($SelectedMealSessionNew) {
foreach ($SelectedMealSessionNew as $values) {
foreach ($values as $val) {
$MealPrice += $val['Price'];
}
}
}
if ($selectedSeatSession) {
foreach ($selectedSeatSession as $values) {
foreach ($values as $val) {
$SeatPrice += $val['amount'];
}
}
}
$MealFare = ($MealPrice + $InbMealPrice);
$BaggFare = ($BagPrice + $InbBagPrice);
$intPublishFareNew = ($TotalBaseFare + $TotalExtraMarkUpSum + $TotalTaxsandFees + $MealFare + $BaggFare + $SeatPrice - $TotalDiscountValueSum);
$this->view->SegmentsArr = $SegmentsArr;
$arrPaxCount = array(
'intAdultsCount' => $adultCount,
'intChildCount' => $childCount,
'intInfantCount' => $infantCount
);
$this->view->arrPaxCount = $arrPaxCount;
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
if (isset($intCustomerSysId) && !empty($intCustomerSysId) && $intCustomerSysId > 0) {
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$customerDetsils = $this->_crmcustomerObj->GetAgencyCustomerById($intCustomerSysId);
$this->view->customerDetsils = $customerDetsils;
}
}
$this->view->leadCustEmailIdSelf = $customerDetsils['EmailId'];
// echo "<pre>";
// print_r($AgencyBaseCurrency);
// echo "<pre>";
// print_r($arrAgencyDetails);
// die;
$arrPriceAndMarkups = array(
"intAgentMarkUpAmount" => 0,
"intAgencyMarkUpAmount" => ($FixedMarkUp - $GSTOnMarkUp) + $AgentsCustomMarkUp,
"intGTXMarkUpAmount" => $intGTXMarkUpForStringData,
"intTotalAmount" => $intPublishFareNew,
"intTax" => 0,
"GTXServiceTaxAmount" => 0,
"AgentServiceTaxAmount" => $GSTOnMarkUp + $AgentsCustomServiceTaxAmount,
"AgentsCustomServiceTaxAmount" => "0",
"Pax" => $intTatalPaxCTForMarkUp,
"SupplierSourceStr" => "API",
"MarketPlaceId" => "1",
"TotalDiscount" => 0,
"CurrencyType" => 1
);
//echo "<pre>";print_r($arrPriceAndMarkups); IsCardChrgToCustomer
$strPriceAndMarkups = json_encode($arrPriceAndMarkups);
$this->view->stringData = $strStringData = $this->getEnc($strPriceAndMarkups);
$IsPaymentGateway = !empty($arrAgencyDetails['IsPaymentGateway']) ? $arrAgencyDetails['IsPaymentGateway'] : 0;
$IsCheckWallet = !empty($arrAgencyDetails['IsCheckWallet']) ? $arrAgencyDetails['IsCheckWallet'] : 0;
if ($IsPaymentGateway == true && $IsCheckWallet == true) {
$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl() . "payment/payment-options/customer-pay-by-agency";
} else {
//$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl() . "payment/payment-options/customer-pay";
$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl() . "payment/payment-options/customer-pay-by-agency";
}
$this->view->TPSysId = $TPSysId = $intTPSysId;
$this->view->intPlanType = "1";
$this->view->strTrxType = "A";
$this->view->strReturnURL = "/flight-proposal/book-proposal-flight-new/data/" . $data . '/id/' . $traceID;
$this->view->strErrorURL = "/flight-proposal/view-flight-proposal-payment/data/" . $data . '/id/' . $traceID;
$this->view->intLoggedinAgencySysId = $AgencySysId;
$this->view->IsCardChrgToCustomer = 1;
$this->view->intLoggedinUserAgencySysId = $AgentSysId;
$this->view->intPublishFare = ceil($intPublishFareNew);
$this->view->intPublishFareNew = $intPublishFareNew;
$this->view->Symbol = !empty($arrAgencyDetails['Symbol']) ? $arrAgencyDetails['Symbol'] : '';
$this->view->guid = $this->GUID();
$this->view->walletCode = $this->walletCode($AgentSysId, $this->view->guid, ceil($intPublishFareNew), $AgencySysId, $TPSysId, $intCustomerSysId, $strStringData);
$this->view->securecode = $this->secureCode($AgencySysId, $this->view->guid);
} else {
}
}
public function bookProposalFlightNewAction()
{
$post = $this->getRequest()->getPost();
$strTrxStatus = $this->view->strTrxStatus = !empty($this->getRequest()->getParam('status')) ? $this->getRequest()->getParam('status') : '';
$TrxSysId = $this->view->TrxSysId = $this->getRequest()->getParam('TrxSysId');
$TPSysId = $this->view->TPSysId = $this->getRequest()->getParam('TPSysId');
$guid = $this->view->guid = $this->getRequest()->getParam('guid');
$objFlight = new Travel_Model_TblFlight();
$objAgency = new Travel_Model_TblAgency();
$objFlightProposal = new Travel_Model_TblFlightProposal();
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$traceID = $SearchTraceId = $this->view->traceID = ($this->_request->getParam('id'));
$data = $this->view->data = ($this->_request->getParam('data'));
$FlightTempData = $objFlight->GetFlightTempData($data);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$FlightBookingData = $this->view->FlightBookingData = $arrUrlData['intOutBoundId'];
$SelectedBaggSessionNew = $this->view->SelectedBaggSessionNew = $arrUrlData['SelectedBaggSessionNew'];
$SelectedMealSessionNew = $this->view->SelectedMealSessionNew = $arrUrlData['SelectedMealSessionNew'];
$selectedSeatSession = $this->view->selectedSeatSession = $arrUrlData['selectedSeatSession'];
$ForCustomerSession = $this->view->ForCustomerSession = $arrUrlData['ForCustomerSession'];
$intCustomerSysId = $this->view->intCustomerSysId = $arrUrlData['intCustomerSysId'];
$intTPSysId = $this->view->intCustomerSysId = $arrUrlData['intTPSysId'];
$arrIntTpAirId = $this->view->arrIntTpAirId = $arrUrlData['arrIntTpAirId'];
$IsTripjack = $this->view->IsTripjack = $arrUrlData['IsTripjack'];
$AirInvenSysIdArr = $arrUrlData['AirInvenSysIdArr'];
$apiTraceId = $arrUrlData['apiTraceId'];
$sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$param = $this->getRequest()->getParams();
$leadId = $sessionFlightSearchParams['editLeadId'];
$route = $sessionFlightSearchParams['route'];
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $this->view->AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$AgencyBaseCurrency = $arrAgencyDetails['TrxCurrency'];
$strFilePath = "flight/bookproposal/" . date('Y-m-d-H-i-s') . "_payment_response.json";
Zend_Controller_Action_HelperBroker::getStaticHelper("General")->createApiCallLogs($strFilePath, json_encode($post));
$IsSeriesFareData = isset($FlightBookingData[0]['IsSeriesFareData']) ? $FlightBookingData[0]['IsSeriesFareData'] : 0;
$ICSourceSysId = isset($FlightBookingData[0]['ICSourceSysId']) ? $FlightBookingData[0]['ICSourceSysId'] : 0;
$EmailId = isset($ForCustomerSession[0]['EmailId']) ? $ForCustomerSession[0]['EmailId'] : 0;
$Contacts = isset($ForCustomerSession[0]['Contacts']) ? $ForCustomerSession[0]['Contacts'] : 0;
$isgstapply = isset($ForCustomerSession[0]['isgstapply']) ? $ForCustomerSession[0]['isgstapply'] : 0;
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
$MasterTPSysId = isset($travelPlanDetais[0]['MasterTPSysId']) ? $travelPlanDetais[0]['MasterTPSysId'] : 0;
// if ($arrAgencyDetails['IsPaymentGateway'] == '0' && $arrAgencyDetails['IsCheckWallet'] == '0') {
// echo 'ook';
// }
$isagencySession = new Zend_Session_Namespace('isagencySession');
$isagency = isset($isagencySession->params) ? $isagencySession->params : 0;
if ($isagency == 1) {
$arrUrlData['GUIDPost'] = $post['GUID'];
$TrxSysId = $this->addCustomerTrx($TPSysId, $arrUrlData);
}
if ($strTrxStatus == "success") {
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$LoggedinUserEmailId = $arrAgencyDetail['PrimaryEmail'];
$objFlight = new Travel_Model_TblFlight();
$this->paymentMdl = new Payment_Model_Payment();
$GetBookingAmountData = $objFlight->GetBookingAmountData($AgencySysId, $arrIntTpAirId);
$wallet = $this->paymentMdl->getDetailsByUniqueId("TB_Agency_Wallet", "AgencySysId", $AgencySysId);
if (isset($IsSeriesFareData) && $IsSeriesFareData == 1 && $route == 1) {
$arrAgentDetail = $this->_crmcusttravelplan->getAgentDetails($AgencySysId);
$SecurityKey = $arrAgentDetail['SecurityKey'];
Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->CheckSoldInventory($FlightBookingData[0]['bookingId'], $SecurityKey);
}
if (isset($IsSeriesFareData) && $IsSeriesFareData == 1 && $route == 2 && isset($FlightBookingData[1]['bookingId'])) {
$arrAgentDetail = $this->_crmcusttravelplan->getAgentDetails($AgencySysId);
$SecurityKey = $arrAgentDetail['SecurityKey'];
Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->CheckSoldInventory($FlightBookingData[1]['bookingId'], $SecurityKey);
}
$GSTTYPE = ($arrAgencyDetails['TaxLabelId'] == 1) ? '18' : '5';
$SecurityKey = isset($arrAgencyDetails['SecurityKey']) ? $arrAgencyDetails['SecurityKey'] : 1;
$CurrencyType = isset($FlightBookingData[0]['CurrencyType']) ? $FlightBookingData[0]['CurrencyType'] : 1;
// echo "<pre>";
// print_r($arrAgencyDetails);
// echo "<pre>";
// die;
$TaxTotal = 0;
$CostTotal = 0;
$MarkupTotal = 0;
$TotalCostTotal = 0;
$PublishedFare = 0;
$misxItems_name = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $k => $value) {
$TotalCostTotal += $value['FairRules']['PublishedFare'];
if ($value['FairRules']['FareBreakdown']) {
foreach ($value['FairRules']['FareBreakdown'] as $kb => $breack) {
$BaseFare_ = $breack['BaseFare'];
$FixedMarkUp_ = $breack['FixedMarkUp'];
$GSTOnMarkUp_ = $breack['GSTOnMarkUp'];
$TaxTotal += $GSTOnMarkUp_;
$CostTotal += $BaseFare_;
$MarkupTotal += $FixedMarkUp_;
}
}
$PublishedFare__ = isset($value['FairRules']['PublishedFare']) ? $value['FairRules']['PublishedFare'] : 0;
$FixedMarkUp__ = isset($value['FairRules']['FixedMarkUp']) ? $value['FairRules']['FixedMarkUp'] : 0;
$GSTOnMarkUp__ = isset($value['FairRules']['GSTOnMarkUp']) ? $value['FairRules']['GSTOnMarkUp'] : 0;
$SourceAirportCode = $value['SourceAirportCode'];
$DestAirportCode = $value['DestAirportCode'];
$FlightNumber = $value['FlightNumber'];
$AirlineName = $value['AirlineName'];
$Description = $SourceAirportCode . '-' . $DestAirportCode . '-' . $AirlineName . ' ' . $FlightNumber;
$TotalFare = ($PublishedFare__ - $FixedMarkUp__ - $GSTOnMarkUp__);
$TotalAmount = $PublishedFare__;
$SubTotal = ($PublishedFare__ - $GSTOnMarkUp__);
$TotalGST = ($GSTOnMarkUp__);
$TotalFixedMarkUp = $FixedMarkUp__;
$TotalcouponVal = 0;
$PublishedFare += $PublishedFare__;
$misxItems_name[] = [
'AgencySysId' => $AgencySysId,
'AgentSysId' => $AgentSysId,
'MisxItems_name' => 'Flight',
'Description' => $Description,
'ItemQty' => 1,
'ItemRates' => ($TotalFare),
'Total' => $TotalFare,
'DiscountType' => $TotalcouponVal,
'Discount' => 1,
'TotalDiscount' => $TotalcouponVal,
'TotalAmount' => $TotalAmount,
'MarkupType' => '',
'Markup' => $TotalFixedMarkUp,
'TotalMarkup' => $TotalFixedMarkUp,
'SubTotal' => $SubTotal,
'ServiceFeeTotal' => 0,
'GSTPercentage' => '18',
'TotalGST' => $TotalGST,
'SGST' => ($TotalGST / 2),
'CGST' => ($TotalGST / 2),
'IGST' => $TotalGST,
'ItemsSACCode' => '',
];
}
}
$BagPrice = 0;
$MealPrice = 0;
$SeatPrice = 0;
if ($SelectedBaggSessionNew) {
foreach ($SelectedBaggSessionNew as $values) {
foreach ($values as $val) {
$BagPrice += $val['Price'];
}
}
}
if ($SelectedMealSessionNew) {
foreach ($SelectedMealSessionNew as $values) {
foreach ($values as $val) {
$MealPrice += $val['Price'];
}
}
}
if ($selectedSeatSession) {
foreach ($selectedSeatSession as $values) {
foreach ($values as $val) {
$SeatPrice += $val['amount'];
}
}
}
$agencyMarkUpGST = $TaxTotal;
$TotalDiscount = 0;
$PublishedFare = ($PublishedFare + $BagPrice + $MealPrice + $SeatPrice);
$TotalInvoiceValue = ($PublishedFare - $agencyMarkUpGST);
$itemCount = count($misxItems_name);
if (!empty($BagPrice)) {
$misxItems_name[$itemCount] = array(
'MisxItems_name' => 'Add ons',
'Description' => 'Baggage',
'ItemQty' => 1,
'ItemRates' => ($BagPrice),
'Total' => $BagPrice,
'DiscountType' => 0,
'Discount' => 0,
'TotalDiscount' => 0,
'TotalAmount' => 0,
'MarkupType' => '',
'Markup' => 0,
'TotalMarkup' => 0,
'SubTotal' => $BagPrice,
'ServiceFeeTotal' => 0,
'GSTPercentage' => 0,
'TotalGST' => 0,
'SGST' => 0,
'CGST' => 0,
'IGST' => 0,
'ItemsSACCode' => '',
);
}
$itemCount = count($misxItems_name);
if (!empty($MealPrice)) {
$misxItems_name[$itemCount] = array(
'MisxItems_name' => 'Add ons',
'Description' => 'Meal',
'ItemQty' => 1,
'ItemRates' => ($MealPrice),
'Total' => $MealPrice,
'DiscountType' => 0,
'Discount' => 0,
'TotalDiscount' => 0,
'TotalAmount' => 0,
'MarkupType' => '',
'Markup' => 0,
'TotalMarkup' => 0,
'SubTotal' => $MealPrice,
'ServiceFeeTotal' => 0,
'GSTPercentage' => 0,
'TotalGST' => 0,
'SGST' => 0,
'CGST' => 0,
'IGST' => 0,
'ItemsSACCode' => '',
);
}
$itemCount = count($misxItems_name);
if (!empty($SeatPrice)) {
$misxItems_name[$itemCount] = array(
'MisxItems_name' => 'Add ons',
'Description' => 'Seat',
'ItemQty' => 1,
'ItemRates' => ($SeatPrice),
'Total' => $SeatPrice,
'DiscountType' => 0,
'Discount' => 0,
'TotalDiscount' => 0,
'TotalAmount' => 0,
'MarkupType' => '',
'Markup' => 0,
'TotalMarkup' => 0,
'SubTotal' => $SeatPrice,
'ServiceFeeTotal' => 0,
'GSTPercentage' => 0,
'TotalGST' => 0,
'SGST' => 0,
'CGST' => 0,
'IGST' => 0,
'ItemsSACCode' => '',
);
}
$Invoicedata = [
'AgentSysId' => $AgencySysId,
'CustomerSysId' => $intCustomerSysId,
'TPSysId' => $intTPSysId,
'MasterTPSysId' => $MasterTPSysId,
'ProposalID' => $intTPSysId . '/V1',
'InvoiceDate' => date('Y-m-d'),
'isDisplayMarkup' => true,
'PaymentDueDate' => date('Y-m-d'),
'PaymentDate' => date('Y-m-d'),
'ClientGST' => $isgstapply,
'ClientGSTNumber' => '',
'Currency' => 1,
'TotalInvoiceValue' => $TotalInvoiceValue,
'InvoiceStatus' => true,
'TotalCGST' => ($agencyMarkUpGST / 2),
'TotalSGST' => ($agencyMarkUpGST / 2),
'TotalIGST' => $agencyMarkUpGST,
'SumdiscountItem' => 0,
'OtherDiscount' => $TotalDiscount,
'otherDiscountVal' => $TotalDiscount,
'TotalAdvance' => $PublishedFare,
'TotalDueAmount' => 0,
'InvoiceValue' => $PublishedFare,
'notes' => 'Flight Ticket',
'termsandcondition' => '',
'client_state' => '',
'Advance' => 0,
'PaymentType' => 4,
'paymentNote' => 'Online',
'misxItems_name' => $misxItems_name,
];
$addonFlightData = array(
'AgencySysId' => $AgencySysId,
'TPSysId' => $intTPSysId,
'CustomerSysId' => $intCustomerSysId,
'CurrencyType' => $CurrencyType,
'GSTTYPE' => $GSTTYPE,
'ServiceTitle' => 'Flight',
'Tax' => $TaxTotal,
'Cost' => ($TotalCostTotal - $TaxTotal - $MarkupTotal),
'Markup' => $MarkupTotal,
'TotalCost' => $TotalCostTotal,
);
$this->ExtraAddAddons($addonFlightData);
if ($BagPrice && $BagPrice > 0) {
$addonFlightData = array(
'AgencySysId' => $AgencySysId,
'TPSysId' => $intTPSysId,
'CustomerSysId' => $intCustomerSysId,
'CurrencyType' => $CurrencyType,
'GSTTYPE' => $GSTTYPE,
'ServiceTitle' => 'Baggage',
'Tax' => 0,
'Cost' => ($BagPrice),
'Markup' => 0,
'TotalCost' => $BagPrice,
);
$this->ExtraAddAddons($addonFlightData);
}
if ($MealPrice && $MealPrice > 0) {
$addonFlightData = array(
'AgencySysId' => $AgencySysId,
'TPSysId' => $intTPSysId,
'CustomerSysId' => $intCustomerSysId,
'CurrencyType' => $CurrencyType,
'GSTTYPE' => $GSTTYPE,
'ServiceTitle' => 'Meal',
'Tax' => 0,
'Cost' => ($MealPrice),
'Markup' => 0,
'TotalCost' => $MealPrice,
);
$this->ExtraAddAddons($addonFlightData);
}
if ($SeatPrice && $SeatPrice > 0) {
$addonFlightData = array(
'AgencySysId' => $AgencySysId,
'TPSysId' => $intTPSysId,
'CustomerSysId' => $intCustomerSysId,
'CurrencyType' => $CurrencyType,
'GSTTYPE' => $GSTTYPE,
'ServiceTitle' => 'Seat',
'Tax' => 0,
'Cost' => ($SeatPrice),
'Markup' => 0,
'TotalCost' => $SeatPrice,
);
$this->ExtraAddAddons($addonFlightData);
}
// Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->InvoiceCreate($Invoicedata, $FlightBookingData, $SecurityKey, $AgencySysId);
// echo "<pre>";
// print_r($Invoicedata);
// echo "<pre>";
// echo "<pre>";
// print_r($ForCustomerSession);
// echo "<pre>";
// die;
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$BookingdataAPI = array(
'FlightBookingData' => $FlightBookingData,
'IsInternational' => $FlightBookingData[0]['IsInternational'],
'CustomerSession' => $arrTrevllerDetails,
'SelectedBaggSessionNew' => $SelectedBaggSessionNew,
'SelectedMealSessionNew' => $SelectedMealSessionNew,
'selectedSeatSession' => $selectedSeatSession,
'sessionFlightSearchParams' => $sessionFlightSearchParams,
);
if ($IsSeriesFareData == 1) {
$Bookres = [
'status' => array('success' => true),
];
} elseif ($ICSourceSysId != 3 && $bookingAllowed == 1) {
$Bookres = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightTicketTripJack($BookingdataAPI, $AgencySysId);
} elseif ($bookingAllowed == 1) { //// TBO booking
$IsLCC = false;
if ($FlightBookingData) {
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
$TravelArray = [];
if ($arrTrevllerList) {
foreach ($arrTrevllerList as $KT => $travel) {
$TravelArray[$travel['IsReturn']][$KT] = $travel;
}
}
$TrevllerList = array_map('array_values', $TravelArray);
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
$FlightBookingTicketArr = [];
$$PassengerArray = [];
$$responseReturn = [];
$$FlightBookingTicketArr = [];
foreach ($FlightBookingData as $k => $value) {
$TPintSysId = isset($arrIntTpAirId[$k]) ? $arrIntTpAirId[$k] : 0;
$checkNonLccBooking = $objFlight->checkNonLccBooking($TPintSysId);
$APIBookingRes__ = isset($checkNonLccBooking['APIBookingRes']) ? json_decode($checkNonLccBooking['APIBookingRes'], true) : [];
$IsBookingStatus = isset($checkNonLccBooking['IsBookingStatus']) ? $checkNonLccBooking['IsBookingStatus'] : 0;
$BookingdataAPI = array(
'FlightBookingData' => $value,
'IsInternational' => $FlightBookingData[0]['IsInternational'],
'CustomerSession' => $arrTrevllerDetails,
'ForCustomerSession' => $ForCustomerSession,
'SelectedBaggSessionNew' => $SelectedBaggSessionNew,
'SelectedMealSessionNew' => $SelectedMealSessionNew,
'selectedSeatSession' => $selectedSeatSession,
'sessionFlightSearchParams' => $sessionFlightSearchParams,
);
if ($value['IsLCC'] == 1) {
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightTicket($BookingdataAPI, $AgencySysId);
} else {
$IsLCC = false;
$API_Response_Ticket = $APIBookingRes__['response'];
$apiTraceId = isset($API_Response_Ticket['Response']['TraceId']) ? $API_Response_Ticket['Response']['TraceId'] : '0';
$strBookingIdLCC = isset($API_Response_Ticket['Response']['Response']['BookingId']) ? $API_Response_Ticket['Response']['Response']['BookingId'] : '';
$strTicketPNRLCC = isset($API_Response_Ticket['Response']['Response']['PNR']) ? $API_Response_Ticket['Response']['Response']['PNR'] : '';
$dataTicket = [
"TraceId" => $apiTraceId,
"PNR" => $strTicketPNRLCC,
"BookingId" => $strBookingIdLCC,
"FlightBookingData" => $value,
];
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->generateNonLccTicket($dataTicket, $AgencySysId);
//$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightBooking($BookingdataAPI, $AgencySysId);
}
// $apiFlightTicket = new Zend_Session_Namespace('apiFlightTicket');
// $response = $apiFlightTicket->params;
// echo "<pre>";
// print_r($response);
// echo "<pre>";
// die;
$FlightBookingTicketArr[$k] = $response;
$ResponseStatus = isset($response['Response']['ResponseStatus']) ? $response['Response']['ResponseStatus'] : '0';
$apiTraceId = isset($response['Response']['TraceId']) ? $response['Response']['TraceId'] : '0';
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingIdLCC = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNRLCC = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
$Passenger = $PassengerArray[] = isset($response['Response']['Response']['FlightItinerary']['Passenger']) ? $response['Response']['Response']['FlightItinerary']['Passenger'] : '';
$statusType = 1;
if ($ResponseStatus == 1) {
Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->InvoiceCreate($Invoicedata, $FlightBookingData, $SecurityKey, $AgencySysId);
// $objFlight->updateBookingStatusTravelPlan(array("StatusType" => '123'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '104', 'PaymentStatus'=>130,'BookingStatus'=>142), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
$TPintSysId = $arrIntTpAirId[$k];
$responseArray = array(
'value' => $value,
'response' => $response
);
$data = array(
"AirlineRefPNR" => $strTicketPNRLCC,
"XRefBookingId" => $strBookingIdLCC,
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING CONFIRMED
if (isset($TrevllerList[$k]) && !empty($TrevllerList[$k]) && $ResponseStatus == 1) {
foreach ($TrevllerList[$k] as $key => $value) {
$pax = $Passenger[$key];
$TicketId = $pax['Ticket']['TicketId'];
$TicketNumber = $pax['Ticket']['TicketNumber'];
$data = array(
"TicketId" => !empty($TicketId) ? $TicketId : '',
"TicketNumber" => $TicketNumber,
"TicketFullJson" => json_encode($pax)
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']); // FOR TRAVELLERS DETAILS CONFIRMED
}
}
$responseReturn[$k] = array('success' => true, 'message' => $ErrorMessage, 'IsLCC' => $value['IsLCC']);
} else {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING Fail
$TPintSysId = $arrIntTpAirId[$k];
$responseArray = array(
'value' => $value,
'response' => $response
);
$data = array(
"AirlineRefPNR" => '',
"XRefBookingId" => $strBookingIdLCC,
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => '',
"IsBookingStatus" => 0
);
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING FAILED
$responseReturn[$k] = array('success' => false, 'message' => $ErrorMessage, 'IsLCC' => $value['IsLCC']);
}
}
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $FlightBookingData;
$arrData['intInBoundId'] = '';
$arrData['tripType'] = 1;
$arrData['arrBookingResponse'] = json_encode($FlightBookingTicketArr);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
$arrData['post'] = $post;
$arrData['ForCustomerSession'] = $ForCustomerSession;
$arrUrlData['responseReturn'] = $responseReturn;
$arrData['IsTripjack'] = false;
$tempData = array(
'TPSysId' => $intTPSysId,
'TraceId' => $SearchTraceId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
$this->_redirect('/flight-proposal/booking-confirmation/id/' . $SearchTraceId);
//$this->_helper->redirector('booking-confirmation/id/' . $SearchTraceId, 'flight-proposal', 'default');
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/booking-confirmation");
echo json_encode($response);
exit;
$FlightBookingTicket = new Zend_Session_Namespace('FlightBookingTicket');
$FlightBookingTicket->params = $FlightBookingTicket;
}
}
// $FlightBookingTicket = new Zend_Session_Namespace('FlightBookingTicket');
// $Bookres = $FlightBookingTicket->params;
if ($FlightBookingData) {
foreach ($FlightBookingData as $k => $flightRounds) {
$ExtraMarkup = ($flightRounds['FairRules']['ExtraMarkup']) ? $flightRounds['FairRules']['ExtraMarkup'] : 0;
$ExtraMarkupOnGST = ($flightRounds['FairRules']['ExtraMarkupOnGST']) ? $flightRounds['FairRules']['ExtraMarkupOnGST'] : 0;
$intPublishedFare = ($flightRounds['FairRules']['PublishedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
//$intOfferedFare = ($flightRounds['FairRules']['OfferedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$intCommissionEarned = $flightRounds['FairRules']['CommEarned'];
$intPLBEarned = $flightRounds['FairRules']['PLBEarned'];
$intIncentiveEarned = $flightRounds['FairRules']['IncentiveEarned'];
$intGTXMarkUp = $flightRounds['FairRules']['intGTXMarkUp'];
$GTXMarkUpGST = $flightRounds['FairRules']['GTXMarkUpGST'];
$intAgencyFixMarkUp = $flightRounds['FairRules']['FixedMarkUp'];
$apiMarkup = ($flightRounds['FairRules']['apiMarkup']) ? $flightRounds['FairRules']['apiMarkup'] : 0;
$intTotalGST = ($flightRounds['FairRules']['intTotalGST']) ? $flightRounds['FairRules']['intTotalGST'] : 0;
$BaseAmount = 0;
$AgentServiceTaxAmount = 0;
if ($flightRounds['FairRules']['FareBreakdown']) {
foreach ($flightRounds['FairRules']['FareBreakdown'] as $key => $value) {
$Segments = $flightRounds['Segments'];
$SeatPriceSeg = 0;
$MealPriceSeg = 0;
$BagPriceSeg = 0;
foreach ($Segments as $seg) {
$segmentid = $seg['segmentid'];
$SelectedBagg = isset($SelectedBaggSessionNew[$segmentid]) ? $SelectedBaggSessionNew[$segmentid] : [];
$SelectedMeal = isset($SelectedMealSessionNew[$segmentid]) ? $SelectedMealSessionNew[$segmentid] : [];
$SelectedSeat = isset($selectedSeatSession[$segmentid]) ? $selectedSeatSession[$segmentid] : [];
if (!empty($SelectedSeat)) {
foreach ($SelectedSeat as $val) {
$SeatPriceSeg += $val['amount'];
}
}
if (!empty($SelectedMeal)) {
foreach ($SelectedMeal as $val) {
$MealPriceSeg += $val['Price'];
}
}
if (!empty($SelectedBagg)) {
foreach ($SelectedBagg as $val) {
$BagPriceSeg += $val['Price'];
}
}
}
//////////////////////////////////
$IntCommission_ = $value['IntCommission'];
$CommissionEarned_ = $value['CommissionEarned'];
$PBaseFare_ = $value['BaseFare'];
$MF = $value['MF']; //Management Fee
$YQ = $value['YQ']; //Fuel Surcharge
$AGST = $value['AGST']; //Airline GST Component
$MFT = $value['MFT']; //Management Fee Tax
$OT = $value['OT']; //Other Charges
$MU = $value['MU']; //Markup
$YR = $value['YR']; //Carrier Misc Fee
$otherCharge_ = ($YQ + $AGST + $MFT + $MF + $OT + $YR);
$FixedMarkUp_ = $value['FixedMarkUp'];
$GSTOnMarkUp = $value['GSTOnMarkUp'];
$intGTXMarkUp_ = $value['intGTXMarkUp'];
$GTXMarkUpGST_ = $value['GTXMarkUpGST'];
$intTotalGST_ = $value['intTotalGST'];
$apiMarkup_ = $value['apiMarkup'];
$CommEarned_ = $value['CommEarned'];
$customerDiscount_ = ($CommissionEarned_ - $IntCommission_);
$GrandTotalBaseFare = (($PBaseFare_ - $CommEarned_ + $otherCharge_ + $FixedMarkUp_ + $apiMarkup_ + $intGTXMarkUp_ + $GTXMarkUpGST_) - $customerDiscount_);
$BaseAmount += $GrandTotalBaseFare;
$AgentServiceTaxAmount += $intTotalGST_;
}
}
}
}
$TotalExtraCharge = ($ExtraMarkup + $ExtraMarkupOnGST);
$intOfferedFare = ($BaseAmount + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$totalCost = ($intPublishedFare);
// echo "<pre>";
// print_r($Bookres);
// echo "<pre>";
// die;
$BookStatus = isset($Bookres['status']['success']) ? $Bookres['status']['success'] : 0;
$BookErrorMessage = isset($Bookres['errors'][0]['message']) ? $Bookres['errors'][0]['message'] : 0;
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
if ($BookStatus == 1 && $bookingAllowed == 1) {
$modelAgency = new Travel_Model_TblAgencyCustomerTrx();
$modelAgency->updateFirstEntryInBalanceSheet($intTPSysId, $AgencySysId);
$modelAgency->updateSecondEntryInBalanceSheet($intTPSysId, $AgencySysId, $TrxSysId, $intPublishedFare);
Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->InvoiceCreate($Invoicedata, $FlightBookingData, $SecurityKey, $AgencySysId);
$objTrx = new Travel_Model_TblAgencyCustomerTrx();
// comment By Prashant
// $strInvoiceNumber = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->generateInvoiceNumbers($AgencySysId);
// $data = array("InvoiceId" => $strInvoiceNumber);
// $objTrx->updateInvoiceNumber($data, $TrxSysId);
// $dataInvoice = [
// "AgencySysId" => $AgencySysId,
// "InvoiceNumber" => $strInvoiceNumber,
// "CreateDate" => date('Y-m-d H:i:s')
// ];
// $objTrx->insertInvoiceNumber($dataInvoice);
if ($IsSeriesFareData == 1) {
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->bookingDetailsSeriesFareNew($FlightBookingData, $ForCustomerSession);
} else {
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->bookingDetailsTripJack($Bookres, $AgencySysId);
}
$ResponseStatus = isset($response['status']['success']) ? $response['status']['success'] : '0';
$strTicketPNRLCC = isset($response['itemInfos']['AIR']['travellerInfos'][0]['pnrDetails']) ? $response['itemInfos']['AIR']['travellerInfos'][0]['pnrDetails'] : '';
$Passengers = isset($response['itemInfos']['AIR']['travellerInfos']) ? $response['itemInfos']['AIR']['travellerInfos'] : '';
$strBookingIdLCC = isset($response['order']['bookingId']) ? $response['order']['bookingId'] : '0';
$ErrorMessage = isset($response['errors'][0]['message']) ? $response['errors'][0]['message'] : '';
$TicketId = [];
if ($Passengers) {
foreach ($Passengers as $pax) {
$TicketId = implode('-', $pax['pnrDetails']);
}
}
$pnr = explode('-', $TicketId);
if (count($pnr) > 2) {
$PNR_Number = $pnr[0] . '-' . $pnr[1];
} else {
$PNR_Number = $pnr[0];
}
$SectorArray = [];
// $objFlight->updateBookingStatusTravelPlan(array("StatusType" => '123'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '104', 'PaymentStatus'=>130,'BookingStatus'=>142), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
if ($FlightBookingData) {
foreach ($FlightBookingData as $k => $value) {
$SourceAirportCode = $value['SourceAirportCode'];
$DestAirportCode = $value['DestAirportCode'];
$SectorArray[] = $SourceAirportCode . '-' . $DestAirportCode;
if (isset($IsSeriesFareData) && $IsSeriesFareData == 1) {
$strBookingIdLCC = isset($response['order']['bookingId'][$k]) ? $response['order']['bookingId'][$k] : '0';
$PNR_Number = isset($pnr[$k]) ? $pnr[$k] : '';
}
// Booking details to transaction table...
$TPintSysId = $arrIntTpAirId[$k];
$responseArray = array(
'value' => $value,
'response' => $response
);
$data = array(
"AirlineRefPNR" => $PNR_Number,
"XRefBookingId" => $strBookingIdLCC,
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING CONFIRMED
}
}
$statusMap = [];
$TicketId = [];
$TicketNumber = [];
if ($Passengers) {
foreach ($Passengers as $pax) {
$statusMap = implode('-', $pax['statusMap']);
$TicketId = implode('-', $pax['pnrDetails']);
$statusMap = implode('-', $pax['statusMap']);
$TicketNumber = isset($pax['ticketNumberDetails']) ? implode('-', $pax['ticketNumberDetails']) : '';
}
}
if (isset($arrTrevllerList) && !empty($arrTrevllerList) && $ResponseStatus == 1) {
foreach ($arrTrevllerList as $key => $value) {
if ($value['MemberSysId'] == 0) {
$CustomerSysId = $value['CustomerSysId'];
$IsAgencyCusTExist = $objFlight->GetCustomersById($CustomerSysId, $AgencySysId);
} else {
$MemberSysId = $value['MemberSysId'];
$IsAgencyCusTExist = $objFlight->GetCustomerMembersById($MemberSysId, $AgencySysId, $value['CustomerSysId']);
}
$FirstName = $IsAgencyCusTExist['FirstName'];
$LastName = $IsAgencyCusTExist['LastName'];
$paxType = $IsAgencyCusTExist['paxType'];
$Title = $IsAgencyCusTExist['Title'];
if ($paxType == 1) {
$CustomerTitle = $ARR_SALUTION[$Title];
} elseif ($paxType == 2) {
$CustomerTitle = $ARR_SALUTION_CHILD[$Title];
} else {
$CustomerTitle = $ARR_SALUTION_CHILD[$Title];
}
// $pax = $Passengers[$key];
// $TicketId = implode('-', $pax['pnrDetails']);
// $statusMap = implode('-', $pax['statusMap']);
// $TicketNumber = isset($pax['ticketNumberDetails']) ? implode('-', $pax['ticketNumberDetails']) : '';
$data = array(
"FirstName" => $FirstName,
"LastName" => $LastName,
"Title" => $CustomerTitle,
"Salutation" => $Title,
"Sectors" => implode(' ', $SectorArray),
"TicketId" => !empty($TicketId) ? $TicketId : '',
"TicketNumber" => $TicketNumber,
"TicketFullJson" => json_encode($Passengers)
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
//echo "<pre>";print_r($FlightBookingData);die('d');
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $FlightBookingData;
$arrData['intInBoundId'] = '';
$arrData['tripType'] = 1;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
$arrData['post'] = $post;
$arrData['ForCustomerSession'] = $ForCustomerSession;
$arrData['Invoicedata'] = $Invoicedata;
$arrData['IsTripjack'] = true;
$tempData = array(
'TraceId' => $SearchTraceId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
$this->_redirect('/flight-proposal/booking-confirmation/id/' . $SearchTraceId);
//$this->_helper->redirector('booking-confirmation/id/' . $SearchTraceId, 'flight-proposal', 'default');
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/booking-confirmation");
echo json_encode($response);
exit;
} else {
if ($bookingAllowed == 2) {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '70', 'PaymentStatus'=>22,'BookingStatus'=>141), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
} else {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING Fail CAse
}
$SectorArray = [];
// Booking details to transaction table...
if ($FlightBookingData) {
foreach ($FlightBookingData as $k => $value) {
$SourceAirportCode = $value['SourceAirportCode'];
$DestAirportCode = $value['DestAirportCode'];
$SectorArray[] = $SourceAirportCode . '-' . $DestAirportCode;
// Booking details to transaction table...
$TPintSysId = $arrIntTpAirId[$k];
$responseArray = array(
'value' => $value,
'response' => $Bookres
);
$data = array(
"XRefBookingId" => '',
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => '',
"IsBookingStatus" => 0
);
if ($bookingAllowed == 2) {
$data = array(
"AirlineRefPNR" => '',
"XRefBookingId" => '',
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
}
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING FAILED
}
}
if (isset($arrTrevllerList) && !empty($arrTrevllerList)) {
$ARR_SALUTION = unserialize(ARR_SALUTION);
$ARR_SALUTION_CHILD = unserialize(ARR_SALUTION_CHILD);
foreach ($arrTrevllerList as $key => $value) {
if ($value['MemberSysId'] == 0) {
$CustomerSysId = $value['CustomerSysId'];
$IsAgencyCusTExist = $objFlight->GetCustomersById($CustomerSysId, $AgencySysId);
} else {
$MemberSysId = $value['MemberSysId'];
$IsAgencyCusTExist = $objFlight->GetCustomerMembersById($MemberSysId, $AgencySysId, $value['CustomerSysId']);
}
$FirstName = $IsAgencyCusTExist['FirstName'];
$LastName = $IsAgencyCusTExist['LastName'];
$paxType = $IsAgencyCusTExist['paxType'];
$Title = $IsAgencyCusTExist['Title'];
if ($paxType == 1) {
$CustomerTitle = $ARR_SALUTION[$Title];
} elseif ($paxType == 2) {
$CustomerTitle = $ARR_SALUTION_CHILD[$Title];
} else {
$CustomerTitle = $ARR_SALUTION_CHILD[$Title];
}
$data = array(
"FirstName" => $FirstName,
"LastName" => $LastName,
"Title" => $CustomerTitle,
"Salutation" => $Title,
"Sectors" => implode(' ', $SectorArray),
"TicketId" => '',
"TicketNumber" => '',
"TicketFullJson" => ''
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
// echo '<pre>';
// print_r($arrTrevllerList);
// die('sabirrrr');
// Proccess Refund Starts.......
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $FlightBookingData;
$arrData['intInBoundId'] = 0;
$arrData['outBoundIdForRefund'] = $FlightBookingData;
$arrData['inBoundIdForRefund'] = 0;
$arrData['arrBookingResponse'] = json_encode($Bookres);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['AirInvenSysIdArr'] = $AirInvenSysIdArr;
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
$arrData['ForCustomerSession'] = $ForCustomerSession;
$arrData['Invoicedata'] = $Invoicedata;
$arrData['post'] = $post;
$arrData['IsTripjack'] = true;
$tempData = array(
'TPSysId' => $intTPSysId,
'TraceId' => $SearchTraceId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
$this->_redirect('/flight-proposal/booking-confirmation/id/' . $SearchTraceId);
//$this->_helper->redirector('booking-confirmation/id/' . $SearchTraceId, 'flight-proposal', 'default');
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => false, 'msg' => 'Error', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/process-refund");
echo json_encode($response);
exit;
}
// echo "<pre>";
// print_r($BookingdataAPI);
// echo "<pre>";
// $objTrx = new Travel_Model_TblAgencyCustomerTrx();
// $strInvoiceNumber = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->generateInvoiceNumbers($AgencySysId);
// $data = array("InvoiceId" => $strInvoiceNumber);
// $objTrx->updateInvoiceNumber($data, $TrxSysId);
} elseif ($strTrxStatus == "failure") {
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '6'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING Fail CAse
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $FlightBookingData;
$arrData['intInBoundId'] = 0;
$arrData['outBoundIdForRefund'] = $FlightBookingData;
$arrData['inBoundIdForRefund'] = 0;
$arrData['arrBookingResponse'] = [];
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['AirInvenSysIdArr'] = $AirInvenSysIdArr;
$arrData['sessionFlightSearchParams'] = $sessionFlightSearchParams;
$arrData['post'] = $post;
$arrData['IsTripjack'] = true;
$tempData = array(
'TraceId' => $SearchTraceId,
'APIBookingData' => json_encode($arrData),
);
$objFlight->deleteFlightTempData($SearchTraceId);
$objFlight->insertFlightTempData($tempData);
$this->_redirect('/flight-proposal/booking-confirmation/id/' . $SearchTraceId);
}
}
public function generateNumericOTP($n) {
$generator = "1357902468";
$result = "";
for ($i = 1; $i <= $n; $i++) {
$result .= substr($generator, (rand() % (strlen($generator))), 1);
}
// Return result
return $result;
}
public function verifyingbookingAction()
{
if ($this->getRequest()->isXmlHttpRequest() && $this->getRequest()->getPost()) {
$post = $this->getRequest()->getPost();
$isagencySession = new Zend_Session_Namespace('isagencySession');
$isagency = $this->view->isagencySession = isset($isagencySession->params) ? $isagencySession->params : 0;
$objFlight = new Travel_Model_TblFlight();
$objAgency = new Travel_Model_TblAgency();
$objFlightProposal = new Travel_Model_TblFlightProposal();
$traceID = $SearchTraceId = $this->view->traceID = ($this->_request->getParam('id'));
$data = $this->view->data = ($this->_request->getParam('data'));
$AgencySysId = $this->view->AgencySysId = ($this->_request->getParam('AgencySysId'));
$FlightTempData = $objFlight->GetFlightTempData($data);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$FlightBookingData = $this->view->FlightBookingData = $arrUrlData['intOutBoundId'];
$SelectedBaggSessionNew = $this->view->SelectedBaggSessionNew = $arrUrlData['SelectedBaggSessionNew'];
$SelectedMealSessionNew = $this->view->SelectedMealSessionNew = $arrUrlData['SelectedMealSessionNew'];
$selectedSeatSession = $this->view->selectedSeatSession = $arrUrlData['selectedSeatSession'];
$ForCustomerSession = $this->view->ForCustomerSession = $arrUrlData['ForCustomerSession'];
$intCustomerSysId = $this->view->intCustomerSysId = $arrUrlData['intCustomerSysId'];
$intTPSysId = $this->view->intCustomerSysId = $arrUrlData['intTPSysId'];
$arrIntTpAirId = $this->view->arrIntTpAirId = $arrUrlData['arrIntTpAirId'];
$IsTripjack = $this->view->IsTripjack = $arrUrlData['IsTripjack'];
$AirInvenSysIdArr = $arrUrlData['AirInvenSysIdArr'];
$apiTraceId = $arrUrlData['apiTraceId'];
$sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$IsSeriesFareData = isset($FlightBookingData[0]['IsSeriesFareData']) ? $FlightBookingData[0]['IsSeriesFareData'] : 0;
$ICSourceSysId = isset($FlightBookingData[0]['ICSourceSysId']) ? $FlightBookingData[0]['ICSourceSysId'] : 0;
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$crmcustomerObj = new Travel_Model_CRM_Customer();
$getAgentDetailById = $crmcustomerObj->getAgentDetailById($AgencySysId);
$agencyDetails = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$PrimaryEmail = isset($agencyDetails['PrimaryEmail']) ? $agencyDetails['PrimaryEmail'] : 0;
$IsAllowFlightBooking = isset($getAgentDetailById[0]['IsAllowFlightBooking']) ? $getAgentDetailById[0]['IsAllowFlightBooking'] : 0;
$ContactNo1 = isset($getAgentDetailById[0]['ContactNo1']) ? trim($getAgentDetailById[0]['ContactNo1']) : 0;
$countrycode = isset($getAgentDetailById[0]['countrycode']) ? trim($getAgentDetailById[0]['countrycode']) : 0;
$EmailId = isset($getAgentDetailById[0]['EmailId']) ? trim($getAgentDetailById[0]['EmailId']) : 0;
$EmailId_cus = isset($ForCustomerSession[0]['EmailId']) ? trim($ForCustomerSession[0]['EmailId']) : 0;
$Contacts_cus = isset($ForCustomerSession[0]['Contacts']) ? trim($ForCustomerSession[0]['Contacts']) : 0;
$MobileNumber = $countrycode . $Contacts_cus;
$LoggedinUserMobileNumber = $countrycode . $ContactNo1;
$generateNumericOTP = $this->generateNumericOTP(6);
if($isagency == '1'){
$smsemail = $EmailId;
$smsmobile = $LoggedinUserMobileNumber;
if($IsAllowFlightBooking == 0){
$response = array('success' => false, 'checkOTP' => false, 'msg' => 'Booking not allowed', 'urlData' => '');
echo json_encode($response);
exit;
}
}else{
$smsemail = $EmailId_cus;
$smsmobile = $Contacts_cus;
}
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
$customHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom');
$IsSMSApi = isset($agencyDetails['IsSMSApi'])?trim($agencyDetails['IsSMSApi']):0;
if (isset($post['verifying']) && $post['verifying'] == 'true' && !empty($post['verifying'])) {
$getBooingOTP = $objFlight->getBooingOTP($intTPSysId);
$OTPNumber = trim($post['OTPNumber']);
if ($getBooingOTP == $OTPNumber) {
$objFlight->updateBookingStatusTravelPlan(array("CustomerRemark" => '1'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']);
$response = array('success' => true, 'checkOTP' => false, 'msg' => 'success', 'urlData' => '');
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'checkOTP' => false, 'msg' => 'Invalid otp', 'urlData' => '');
echo json_encode($response);
exit;
}
}
$objFlight->updateBookingStatusTravelPlan(array("CustomerRemark" => $generateNumericOTP), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']);
$currentDate = date('Y-m-d H:i:s');
$dateTime = new DateTime($currentDate);
$dateTime->modify('+2 minutes');
$RandomCodeValidTo = $dateTime->format('Y-m-d H:i:s');
$col = array('RandomCode' => $generateNumericOTP, 'RandomCodeValidFrom' => $currentDate, 'RandomCodeValidTo' => $RandomCodeValidTo);
$message = "OTP for CRM access is $generateNumericOTP do not share it with anyone.\nTRVCRM";
$this->postFields = "";
$this->postFields .= "&method=$this->SMSMETHOD";
$this->postFields .= "&api_key=$this->SMSAPIKEY";
$this->postFields .= "&sender=$this->SMSSENDER";
$this->postFields .= "&message=$message";
$this->postFields .= "&format=$this->SMSFORMAT";
$postURL = $this->SMSURL;
$data = new Payment_Model_Checkotp();
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$html->assign(array('getBooingOTP' => $generateNumericOTP, 'agencyDetails' => $agencyDetails));
$bodyText = $html->render('OTPEmail.phtml');
$fromName = (isset($agencyDetails['DisplayName']) && !empty($agencyDetails['DisplayName'])) ? trim($agencyDetails['DisplayName']) : trim(trim($agencyDetails['Title']));
$emailData = array(
'fromEmail' => $PrimaryEmail,
'fromName' => $fromName,
'subject' => 'OTP for booking '.date('Y-m-d H:i:s'),
'to' => array($smsemail),
'bodyHtml' => $bodyText,
'bodyText' => ''
);
// echo "<pre>";
// print_r($emailData);die;
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => 0,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => 0,
"Title" => $bodyText,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
$smsmobile = $smsmobile;
$this->postFields .= "&to=" . substr($smsmobile, -10);
$hidePhoneNumberDigit = $customHelper->hidePhoneNumberDigit($smsmobile, 1);
$emailResponse = json_decode($this->mailSentByElastice($emailData, $arrEmailStatistics), true);
$resultVal = $data->sendSmsDetails($postURL, $this->postFields, $arrEmailStatistics, $IsSMSApi);
if ($FlightBookingData && $ICSourceSysId == 3) {
$FlightBookingTicketArr = [];
$$PassengerArray = [];
$$responseReturn = [];
$$FlightBookingTicketArr = [];
foreach ($FlightBookingData as $k => $value) {
$TPintSysId = isset($arrIntTpAirId[$k]) ? $arrIntTpAirId[$k] : 0;
$checkNonLccBooking = $objFlight->checkNonLccBooking($TPintSysId);
$IsBookingStatus = isset($checkNonLccBooking['IsBookingStatus']) ? $checkNonLccBooking['IsBookingStatus'] : 0;
$AirlineName = $value['AirlineName'];
$FlightNumber = $value['FlightNumber'];
if ($value && $IsBookingStatus != 1) {
$BookingdataAPI = array(
'FlightBookingData' => $value,
'IsInternational' => $FlightBookingData[0]['IsInternational'],
'CustomerSession' => $arrTrevllerDetails,
'ForCustomerSession' => $ForCustomerSession,
'SelectedBaggSessionNew' => $SelectedBaggSessionNew,
'SelectedMealSessionNew' => $SelectedMealSessionNew,
'selectedSeatSession' => $selectedSeatSession,
'sessionFlightSearchParams' => $sessionFlightSearchParams,
);
if ($value['IsLCC'] == 1 || $value['IsLCC'] == '1') {
///// This action perform on bookflight action
} else {
$IsLCC = true;
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightBooking($BookingdataAPI, $AgencySysId);
$FlightBookingTicketArr[$k] = $response;
$ResponseStatus = isset($response['Response']['ResponseStatus']) ? $response['Response']['ResponseStatus'] : '0';
$apiTraceId = isset($response['Response']['TraceId']) ? $response['Response']['TraceId'] : '0';
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingIdLCC = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNRLCC = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
$Passenger = $PassengerArray[] = isset($response['Response']['Response']['FlightItinerary']['Passenger']) ? $response['Response']['Response']['FlightItinerary']['Passenger'] : '';
$statusType = 1;
if ($ResponseStatus == 1) {
$responseArray = array(
'value' => $value,
'response' => $response
);
$data = array(
"AirlineRefPNR" => $strTicketPNRLCC,
"XRefBookingId" => $strBookingIdLCC,
"APIBookingRes" => json_encode($responseArray),
"XRefPNR" => 1,
"IsBookingStatus" => 1 //Booking Requested. Booking Confirmed Ticket In Process
);
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING CONFIRMED
} else {
$response = array('success' => false, 'msg' => 'Unable to book ' . $AirlineName . ' ' . $FlightNumber . ' please choose another flight.', 'urlData' => '');
echo json_encode($response);
exit;
}
}
}
}
$response = array('success' => true, 'checkOTP' => true, 'msg' => '', 'urlData' => '', 'PhoneNumberDigit' => $hidePhoneNumberDigit);
echo json_encode($response);
exit;
} else {
$response = array('success' => true, 'checkOTP' => true, 'msg' => '', 'urlData' => '', 'PhoneNumberDigit' => $hidePhoneNumberDigit);
echo json_encode($response);
exit;
// $response = array('success' => true, 'checkOTP' => false, 'msg' => '', 'urlData' => '');
// echo json_encode($response);
// exit;
}
}
}
public function bookingConfirmationAction()
{
$post = $this->getRequest()->getParams();
$traceID = $this->view->traceID = ($post['id']);
$objFlight = new Travel_Model_TblFlight();
$objAgency = new Travel_Model_TblAgency();
$objFlightProposal = new Travel_Model_TblFlightProposal();
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
$data = $this->view->data = ($this->_request->getParam('data'));
$FlightTempData = $objFlight->GetFlightTempData($traceID);
$arrUrlData = json_decode($FlightTempData['APIBookingData'], true);
$FlightBookingData = $this->view->FlightBookingData = $arrUrlData['intOutBoundId'];
$arrBookingResponse = $this->view->arrBookingResponse = json_decode($arrUrlData['arrBookingResponse'], true);
$SelectedBaggSessionNew = $this->view->SelectedBaggSessionNew = $arrUrlData['SelectedBaggSessionNew'];
$SelectedMealSessionNew = $this->view->SelectedMealSessionNew = $arrUrlData['SelectedMealSessionNew'];
$selectedSeatSession = $this->view->selectedSeatSession = $arrUrlData['selectedSeatSession'];
$this->view->post = $arrUrlData['post'];
$intTPSysId = $this->view->intTPSysId = $arrUrlData['intTPSysId'];
$customerSysId = $this->view->customerSysId = $arrUrlData['customerSysId'];
$sessionFlightSearchParams = $this->view->sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$leadId = $sessionFlightSearchParams['editLeadId'];
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId, 'query');
$AgencySysId = $this->view->AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$AgencyBaseCurrency = $arrAgencyDetails['TrxCurrency'];
$bookingAllowed = $sessionFlightSearchParams['bookingAllowed'];
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($customerSysId, $intTPSysId);
$this->view->arrTrevllerDetails = $arrTrevllerDetails['AgencySysId'];
$SegmentsArr = [];
if ($FlightBookingData) {
foreach ($FlightBookingData as $Data) {
foreach ($Data['Segments'] as $seg) {
$SegmentsArr[] = $seg;
}
}
}
$this->view->SegmentsArr = $SegmentsArr;
$ICSourceSysId = isset($FlightBookingData[0]['ICSourceSysId']) ? $FlightBookingData[0]['ICSourceSysId'] : 0;
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId);
$APIBookingRes = isset($arrCustomerInvoiceData[0]['APIBookingRes']) ? json_decode($arrCustomerInvoiceData[0]['APIBookingRes'], true) : [];
$ResponseStatus = isset($APIBookingRes['response']['Response']['ResponseStatus']) ? $APIBookingRes['response']['Response']['ResponseStatus'] : 0;
$$TBOArray = [];
if ($arrCustomerInvoiceData) {
foreach ($arrCustomerInvoiceData as $v) {
$TBOArray[] = array(
'SourceAirportCode' => trim($v['SourceAirportCode']),
'DestAirportCode' => trim($v['DestAirportCode']),
'TPSysId' => $v['TPSysId'],
'AirVersionId' => $v['AirVersionId'],
);
}
}
$this->view->TBOArray = $TBOArray;
$this->view->bookingAllowed = $bookingAllowed;
$this->view->CurrencyRate = $this->CurrencyRate;
$this->view->CurrencyTitle = $this->CurrencyTitle;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
// echo "<pre>";
// print_r($customerSysId);
// echo "<pre>";
// print_r($intTPSysId);
// echo "<pre>";
// print_r($arrTrevllerDetails);
// die;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
$getAgencyDetail = $this->_crmcustomerObj->GetAgencyDetailById($AgencySysId);
$emailId = $arrTrevllerDetails[0][0]['EmailId'];
$this->view->CustomerEmailId = $emailId;
$fromName = (isset($getAgencyDetail['DisplayName']) && !empty($getAgencyDetail['DisplayName'])) ? trim($getAgencyDetail['DisplayName']) : trim(trim($getAgencyDetail['Title']));
$emailSendId = trim($getAgencyDetail['PrimaryEmail']);
// echo "<pre>";
// print_r($emailId);
// die;
$objFlight = new Travel_Model_TblFlight();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
$html->assign(array('arrtravellerList' => $arrtravellerList, 'FlightBookingData' => $FlightBookingData, 'arrTrevllerDetails' => $arrTrevllerDetails, 'arrCustomerInvoiceData' => $arrCustomerInvoiceData, 'CurrencyRate' => $this->CurrencyRate, 'CurrencyTitle' => $this->CurrencyTitle, 'post' => $arrUrlData['post'], 'intTPSysId' => ($intTPSysId)));
if ($ICSourceSysId == 3) {
$bodyText = $html->render('e-ticket.phtml');
} else {
$bodyText = $html->render('e-tickettj.phtml');
}
$emailData = array(
'fromEmail' => $emailSendId,
'fromName' => $fromName,
'subject' => 'Your Ticket Has Been Booked',
'to' => array($emailId),
'bodyHtml' => $bodyText,
'bodyText' => ''
);
// echo "<pre>";
// print_r($emailData);
// die;
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => 0,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgencySysId,
"Title" => $bodyText,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
if ($ResponseStatus == 1 && $bookingAllowed == 1) {
//////////////$emailResponse = json_decode($this->mailSentByElastice($emailData, $arrEmailStatistics), 1);
$mailstatus = isset($emailResponse['success']) ? $emailResponse['success'] : 0;
//if ($mailstatus) {
// $this->_redirect('/flight-proposal/booking-confirmation/id/' . $traceID . '/status/true');
//}
} else {
$bodyText = $html->render('send_email_payment.phtml');
$emailDataOffline = array(
'fromEmail' => $emailSendId,
'fromName' => $fromName,
'subject' => 'Payment Receipt',
'to' => array($emailId),
'bodyHtml' => $bodyText,
'bodyText' => ''
);
$emailDataOfflineAg = array(
'fromEmail' => $emailSendId,
'fromName' => $fromName,
'subject' => 'Payment Receipt',
'to' => array($emailSendId),
'bodyHtml' => $bodyText,
'bodyText' => ''
);
// echo "<pre>";
// print_r($emailDataOffline);
// echo "<pre>";
// die;
//$emailResponse = json_decode($this->mailSentByElastice($emailDataOfflineAg, $arrEmailStatistics), 1);
//$emailResponse = json_decode($this->mailSentByElastice($emailDataOffline, $arrEmailStatistics), 1);
}
}
public function ExtraAddAddons($UpdateData)
{
if ($UpdateData && !empty($UpdateData)) {
$objPackage = new Travel_Model_TblPackage();
$addonFlightData = [
'AgencySysId' => (int)$UpdateData['AgencySysId'],
'TPSysId' => (int)$UpdateData['TPSysId'],
'CustomerSysId' => (int)$UpdateData['CustomerSysId'],
'SupplierSysId' => 0,
'PlanType' => 1,
'InvnSysId' => 0,
'ServiceTitle' => $UpdateData['ServiceTitle'],
'CurrencyType' => $UpdateData['CurrencyType'], // Currency Id
'GSTTYPE' => $UpdateData['GSTTYPE'], // GST 18,15
'Tax' => (float)($UpdateData['Tax']), // GST Tax
'Cost' => ($UpdateData['Cost']),
'Markup' => (float)$UpdateData['Markup'],
'TotalCost' => (int) ($UpdateData['TotalCost']),
'IsActive' => 1,
'IsApplyTax' => 0,
];
// echo "<pre>";
// print_r($addonFlightData);
$objPackage->saveAddonServicesData($addonFlightData);
}
}
public function addCustomerTrx($TPSysId, $arrUrlData)
{
$GUIDPost = $arrUrlData['GUIDPost'];
$FlightBookingData = $this->view->FlightBookingData = $arrUrlData['intOutBoundId'];
$SelectedBaggSessionNew = $this->view->SelectedBaggSessionNew = $arrUrlData['SelectedBaggSessionNew'];
$SelectedMealSessionNew = $this->view->SelectedMealSessionNew = $arrUrlData['SelectedMealSessionNew'];
$selectedSeatSession = $this->view->selectedSeatSession = $arrUrlData['selectedSeatSession'];
$ForCustomerSession = $this->view->ForCustomerSession = $arrUrlData['ForCustomerSession'];
$intCustomerSysId = $this->view->intCustomerSysId = $arrUrlData['intCustomerSysId'];
$sessionFlightSearchParams = $arrUrlData['sessionFlightSearchParams'];
$objFlightProposal = new Travel_Model_TblFlightProposal();
$leadId = $sessionFlightSearchParams['editLeadId'];
$arrAgencyDetails = $this->view->arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($leadId);
$AgencySysId = $this->view->AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$fname = $ForCustomerSession[0]['FirstName'];
// echo '<pre>';
// print_r($arrAgencyDetails);
// die;
$AgencyMarkUp = 0;
$GTXMarkUp = 0;
$AgentCommisionEarned = 0;
$BaseAmount = 0;
$PublishedFare = 0;
$TotalDiscountValue = 0;
$AgentServiceTaxAmount = 0;
if (!empty($FlightBookingData)) {
foreach ($FlightBookingData as $keys => $flightRounds) {
$Segments = $flightRounds['Segments'];
$SeatPriceSeg = 0;
$MealPriceSeg = 0;
$BagPriceSeg = 0;
foreach ($Segments as $seg) {
$segmentid = $seg['segmentid'];
$SelectedBagg = isset($SelectedBaggSessionNew[$segmentid]) ? $SelectedBaggSessionNew[$segmentid] : [];
$SelectedMeal = isset($SelectedMealSessionNew[$segmentid]) ? $SelectedMealSessionNew[$segmentid] : [];
$SelectedSeat = isset($selectedSeatSession[$segmentid]) ? $selectedSeatSession[$segmentid] : [];
if (!empty($SelectedSeat)) {
foreach ($SelectedSeat as $val) {
$SeatPriceSeg += $val['amount'];
}
}
if (!empty($SelectedMeal)) {
foreach ($SelectedMeal as $val) {
$MealPriceSeg += $val['Price'];
}
}
if (!empty($SelectedBagg)) {
foreach ($SelectedBagg as $val) {
$BagPriceSeg += $val['Price'];
}
}
}
$DiscountValue = ($flightRounds['FairRules']['DiscountValue']) ? $flightRounds['FairRules']['DiscountValue'] : 0;
$ExtraMarkup = ($flightRounds['FairRules']['ExtraMarkup']) ? $flightRounds['FairRules']['ExtraMarkup'] : 0;
$ExtraMarkupOnGST = ($flightRounds['FairRules']['ExtraMarkupOnGST']) ? $flightRounds['FairRules']['ExtraMarkupOnGST'] : 0;
$intPublishedFare = ($flightRounds['FairRules']['PublishedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
//$intOfferedFare = ($flightRounds['FairRules']['OfferedFare'] + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$intCommissionEarned = $flightRounds['FairRules']['CommEarned'];
$intPLBEarned = $flightRounds['FairRules']['PLBEarned'];
$intIncentiveEarned = $flightRounds['FairRules']['IncentiveEarned'];
$intGTXMarkUp = $flightRounds['FairRules']['intGTXMarkUp'];
$GTXMarkUpGST = $flightRounds['FairRules']['GTXMarkUpGST'];
$intAgencyFixMarkUp = $flightRounds['FairRules']['FixedMarkUp'];
$apiMarkup = ($flightRounds['FairRules']['apiMarkup']) ? $flightRounds['FairRules']['apiMarkup'] : 0;
$intTotalGST = ($flightRounds['FairRules']['intTotalGST']) ? $flightRounds['FairRules']['intTotalGST'] : 0;
$BaseAmount = 0;
if ($flightRounds['FairRules']['FareBreakdown']) {
foreach ($flightRounds['FairRules']['FareBreakdown'] as $key => $value) {
//////////////////////////////////
$IntCommission_ = $value['IntCommission'];
$CommissionEarned_ = $value['CommissionEarned'];
$PBaseFare_ = $value['BaseFare'];
$MF = $value['MF']; //Management Fee
$YQ = $value['YQ']; //Fuel Surcharge
$AGST = $value['AGST']; //Airline GST Component
$MFT = $value['MFT']; //Management Fee Tax
$OT = $value['OT']; //Other Charges
$MU = $value['MU']; //Markup
$YR = $value['YR']; //Carrier Misc Fee
$otherCharge_ = ($YQ + $AGST + $MFT + $MF + $OT + $YR);
$FixedMarkUp_ = $value['FixedMarkUp'];
$GSTOnMarkUp = $value['GSTOnMarkUp'];
$intGTXMarkUp_ = $value['intGTXMarkUp'];
$GTXMarkUpGST_ = $value['GTXMarkUpGST'];
$intTotalGST_ = $value['intTotalGST'];
$apiMarkup_ = $value['apiMarkup'];
$CommEarned_ = $value['CommEarned'];
$customerDiscount_ = ($CommissionEarned_ - $IntCommission_);
$GrandTotalBaseFare = (($PBaseFare_ - $CommEarned_ + $otherCharge_ + $FixedMarkUp_ + $apiMarkup_ + $intGTXMarkUp_ + $GTXMarkUpGST_) - $customerDiscount_);
$BaseAmount += $GrandTotalBaseFare;
$AgentServiceTaxAmount += $intTotalGST_;
}
}
$TotalExtraCharge = ($ExtraMarkup + $ExtraMarkupOnGST);
$intOfferedFare = ($BaseAmount + $BagPriceSeg + $MealPriceSeg + $SeatPriceSeg);
$totalCost = ($intPublishedFare + $TotalExtraCharge);
$AgencyMarkUp += ($intAgencyFixMarkUp + $apiMarkup);
$GTXMarkUp += ($GTXMarkUpGST);
$AgentCommisionEarned += ($intCommissionEarned);
$BaseAmount += ($intOfferedFare);
$PublishedFare += ($intPublishedFare);
$TotalDiscountValue += ($DiscountValue);
}
}
$paymentMdl = new Payment_Model_Payment();
$offlinePaymentModeData = $paymentMdl->getDetailsByUniqueId("TB_Master_PaymentMediaType", "Title", "CC");
$TrxPayMediaType = $offlinePaymentModeData['PaymentMediaType'];
$addData_Trx = array(
'MPSysId' => 1,
'InvoiceId' => '',
'TrxOrdDocId' => 1,
'TrxType' => "A",
'TrxOrdDocId' => $TrxPayMediaType,
'TrxDate' => date('Y-m-d H:i:s'),
'TrxPayMediaType' => $TrxPayMediaType,
'CrPartyAccSysId' => 1,
'DrPartyAccSysId' => "",
'CrPartyName' => '', //Agency Name
'DrPartyName' => $fname,
'CurrencyType' => 1,
'Markup' => 0,
"AgencyMarkUp" => $AgencyMarkUp,
"GTXMarkup" => $GTXMarkUp,
"TrxFee" => 0,
"Commission" => $AgentCommisionEarned,
"GTXCommission" => 0,
'TotalDiscount' => $TotalDiscountValue,
'Amount' => $BaseAmount,
'PaidAmount' => $PublishedFare,
'NetAmount' => $PublishedFare,
'TrxStatus' => true,
'TBPoints' => 0,
'IsActive' => true
);
// echo '<pre>';
// print_r($addData_Trx);
// die;
$TrxSysId = $paymentMdl->insertTable("TB_Trx", $addData_Trx);
$addDataAgency_Customer_Trx = array(
"CustomerSysId" => $intCustomerSysId,
"AgencySysId" => $AgencySysId,
"UserSysId" => $AgentSysId,
"TrxSysId" => $TrxSysId,
'XRefTrxNo' => $GUIDPost,
'TPSysId' => $TPSysId,
'MPSysId' => 1,
'TrxDate' => date('Y-m-d H:i:s'),
'TrxUpdatedOn' => "",
'PaymentModeType' => 1,
'InvoiceId' => '',
'TrxOrdDocId' => 1,
'TrxType' => "A",
'TrxPayMediaRefNo' => "",
'CrPartyAccSysId' => 1,
"DrPartyAccSysId" => 0,
"CrPartyName" => "", //Agency Name
"DrPartyName" => $fname,
'TrxPayMediaType' => 1,
'CurrencyType' => 1,
'Amount' => $BaseAmount,
'Markup' => 0,
"AgencyMarkUp" => $AgencyMarkUp,
"GTXMarkup" => $GTXMarkUp,
"TrxFee" => 0,
"Commission" => $AgentCommisionEarned,
'TotalDiscount' => $TotalDiscountValue,
'PaidAmount' => $PublishedFare,
'NetAmount' => $PublishedFare,
'TBPoints' => 0,
'TrxStatus' => true,
'IsActive' => true
);
$dddd = $paymentMdl->insertTable("TB_Agency_Customer_Trx", $addDataAgency_Customer_Trx); /// by sabir
return $TrxSysId;
}
public function eTickettjAction()
{
// $this->_helper->layout->disableLayout();
// $intTPSysId = base64_decode($this->getRequest()->getParam("id"));
// $versionId = ($this->getRequest()->getParam("version"));
// $objFlight = new Travel_Model_TblFlight();
// //$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
// $arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId,0);
// $arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
// //echo "<pre>";print_r($arrtravellerList);
// $this->view->arrtravellerList = $arrtravellerList;
// $this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
// $this->view->intTPSysId = $this->getRequest()->getParam("id");
// $this->view->version = $versionId;
// $intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
// if (!empty($intCustomerSysId)) {
// $arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
// //
// $this->view->arrTrevllerDetails = $arrTrevllerDetails;
// }
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$ICSourceSysId = $arrCustomerInvoiceData[0]['ICSourceSysId'];
$TripType = $arrCustomerInvoiceData[0]['TripType'];
$AgencySysId = $arrCustomerInvoiceData[0]['AgencySysId'];
$IsInternational = !empty($arrCustomerInvoiceData[0]['IsInternational']) ? $arrCustomerInvoiceData[0]['IsInternational'] : 0;
if ($ICSourceSysId == 3) {
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId, 0);
} else {
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
if ($TripType == '3') {
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId, 0);
}
}
$agencyDetails = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$this->view->withprice = 1;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
if ($IsInternational == 1) {
$ItemSourceType = 2;
} else {
$ItemSourceType = 1;
}
$getSupportContact = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getSupportContact(1, 1, $ItemSourceType, '', $agencyDetails['SecurityKey']);
$this->view->getSupportContact = $getSupportContact;
// echo '<pre>';
// print_r($getSupportContact);
// die;
}
public function eTickettjwebsiteAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$ICSourceSysId = $arrCustomerInvoiceData[0]['ICSourceSysId'];
if ($ICSourceSysId == 3) {
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId, 0);
} else {
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
}
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function eTicketAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function eTicketwebsiteAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$TBQAirInvenSysId = $arrCustomerInvoiceData[0]['TBQAirInvenSysId'];
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $TBQAirInvenSysId . "') ";
$FlightFareBreakdown = $objFlight->getSelectedFlightFareDetails();
//$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking(23890);
// echo "<pre>";
// print_r($arrCustomerInvoiceData);
// echo "</pre>";
$this->view->arrtravellerList = $arrtravellerList;
$this->view->FlightFareBreakdown = $FlightFareBreakdown;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function sendeticketAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
if ($this->_request->isXmlHttpRequest()) {
$intTPSysId = base64_decode($this->getRequest()->getParam("intTPSysId"));
$versionId = ($this->getRequest()->getParam("version"));
$emailId = ($this->getRequest()->getParam("emailId"));
$objFlight = new Travel_Model_TblFlight();
$objTbltbbcuser = new Travel_Model_Tbltbbcuser();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$CustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$TBQAirInvenSysId = $arrCustomerInvoiceData[0]['TBQAirInvenSysId'];
$AgentSysId = $arrCustomerInvoiceData[0]['AgentSysId'];
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $TBQAirInvenSysId . "') ";
$FlightFareBreakdown = $objFlight->getSelectedFlightFareDetails();
$getCustomerDetails = $objTbltbbcuser->getCustomerDetails($CustomerSysId, $AgentSysId);
$arrtravellerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
//$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking(23890);
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("intTPSysId");
$this->view->version = $versionId;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
$ICSourceSysId = $arrCustomerInvoiceData[0]['ICSourceSysId'];
$TripType = $arrCustomerInvoiceData[0]['TripType'];
$SourceAirportCode = $arrCustomerInvoiceData[0]['SourceAirportCode'];
$DestAirportCode = $arrCustomerInvoiceData[0]['DestAirportCode'];
$AgencySysId = $arrCustomerInvoiceData[0]['AgencySysId'];
$AgentSysId = $arrCustomerInvoiceData[0]['AgentSysId'];
$intLoggedinUserEmailId = $arrCustomerInvoiceData[0]['PrimaryEmail'];
$navarrow = ($TripType == 1) ? "→" : "⇄";
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/booking-flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
$html->assign('getCustomerDetails', $getCustomerDetails);
$html->assign('FlightFareBreakdown', $FlightFareBreakdown);
$html->assign('arrtravellerList', $arrtravellerList);
$html->assign('arrCustomerInvoiceData', $arrCustomerInvoiceData);
$html->assign('arrTrevllerDetails', $arrTrevllerDetails);
$html->assign('intTPSysId', $this->getRequest()->getParam("intTPSysId"));
$html->assign('version', $versionId);
if ($ICSourceSysId == 7 || $ICSourceSysId == 8 || $ICSourceSysId == 9) {
$bodyText = $html->render('e-tickettj.phtml');
} else {
$bodyText = $html->render('e-ticket.phtml');
}
// echo "<pre>";
// print_r($bodyText);
// die;
$subject = "Flight Booking Itinerary From " . trim($SourceAirportCode) . " " . $navarrow . " " . trim($DestAirportCode);
//$customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId'])?$arrTrevllerDetails[0][0]['EmailId']:'';
$customerEmailId = $emailId;
$emailData = array('fromEmail' => trim($intLoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $intLoggedinUserEmailId), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $intTPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$sent = $this->mailSentByElastice($emailData, $arrEmailStatistics);
if ($sent) {
$response = array('success' => true, 'msg' => 'Email sent successfully.');
echo json_encode($response);
exit;
}
} catch (Exception $err) {
print_r($err, true);
}
}
}
public function customerInvoicetjAction()
{
// $this->_helper->layout->disableLayout();
// $intTPSysId = base64_decode($this->getRequest()->getParam("id"));
// $versionId = ($this->getRequest()->getParam("version"));
// $objFlight = new Travel_Model_TblFlight();
// $objTbltbbcuser = new Travel_Model_Tbltbbcuser();
// $arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
// $arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
// $this->view->arrtravellerList = $arrtravellerList;
// $this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
// $this->view->intTPSysId = $this->getRequest()->getParam("id");
// $this->view->version = $versionId;
// $intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
// $CustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
// $B2BAgencySysId = $arrCustomerInvoiceData[0]['B2BAgencySysId'];
// $getCustomerDetails = $objTbltbbcuser->getCustomerDetails($CustomerSysId, $B2BAgencySysId);
// $this->view->getCustomerDetails = $getCustomerDetails;
// $this->view->arrtravellerList = $arrtravellerList;
// $this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
// $intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
// if (!empty($intCustomerSysId)) {
// $arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
// //echo "<pre>";print_r($arrTrevllerDetails);
// $this->view->arrTrevllerDetails = $arrTrevllerDetails;
// }
$this->_helper->layout->disableLayout();
// $intTPSysId = base64_decode($this->getRequest()->getParam("id")); old
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$bookingId = ($this->getRequest()->getParam("bkid"));
$objFlight = new Travel_Model_TblFlight();
$objTbltbbcuser = new Travel_Model_Tbltbbcuser();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$CustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$B2BAgencySysId = $arrCustomerInvoiceData[0]['B2BAgencySysId'];
$AgencySysId = $arrCustomerInvoiceData[0]['AgencySysId'];
$IsB2BProposal = $arrCustomerInvoiceData[0]['IsB2BProposal'];
$AgentSysId = $arrCustomerInvoiceData[0]['AgentSysId'];
$arrAgencyDetail = [];
if ($IsB2BProposal == 1) {
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($B2BAgencySysId);
}
// echo "<pre>";print_r($arrCustomerInvoiceData[0]);
$getCustomerDetails = $objTbltbbcuser->getCustomerDetails($CustomerSysId, $AgentSysId);
//$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking(23890);arrAgencyDetail
$this->view->getCustomerDetails = $getCustomerDetails;
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$this->view->arrAgencyDetail = $arrAgencyDetail;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function customerInvoicetjwebsiteAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$bookingId = ($this->getRequest()->getParam("bkid"));
$objFlight = new Travel_Model_TblFlight();
$objTbltbbcuser = new Travel_Model_Tbltbbcuser();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$CustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$B2BAgencySysId = $arrCustomerInvoiceData[0]['B2BAgencySysId'];
$AgencySysId = $arrCustomerInvoiceData[0]['AgencySysId'];
$IsB2BProposal = $arrCustomerInvoiceData[0]['IsB2BProposal'];
$arrAgencyDetail = [];
if ($IsB2BProposal == 1) {
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($B2BAgencySysId);
}
$getCustomerDetails = $objTbltbbcuser->getCustomerDetails($CustomerSysId, $AgencySysId);
//$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking(23890);arrAgencyDetail
$this->view->getCustomerDetails = $getCustomerDetails;
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$this->view->arrAgencyDetail = $arrAgencyDetail;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function customerInvoiceAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function customerInvoicewebsiteAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$versionId = ($this->getRequest()->getParam("version"));
$objFlight = new Travel_Model_TblFlight();
$objTbltbbcuser = new Travel_Model_Tbltbbcuser();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $versionId);
$CustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$AgencySysId = $arrCustomerInvoiceData[0]['AgencySysId'];
$IsB2BProposal = $arrCustomerInvoiceData[0]['IsB2BProposal'];
$B2BAgencySysId = $arrCustomerInvoiceData[0]['B2BAgencySysId'];
// echo "<pre>";
// print_r($arrCustomerInvoiceData[0]);
// exit;
$TBQAirInvenSysId = $arrCustomerInvoiceData[0]['TBQAirInvenSysId'];
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $TBQAirInvenSysId . "') ";
$FlightFareBreakdown = $objFlight->getSelectedFlightFareDetails();
$getCustomerDetails = $objTbltbbcuser->getCustomerDetails($CustomerSysId, $AgencySysId);
$arrAgencyDetail = [];
if ($IsB2BProposal == 1) {
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($B2BAgencySysId);
}
$this->view->getCustomerDetails = $getCustomerDetails;
$this->view->FlightFareBreakdown = $FlightFareBreakdown;
$this->view->arrAgencyDetail = $arrAgencyDetail;
$this->view->getCustomerDetails = $getCustomerDetails;
$this->view->FlightFareBreakdown = $FlightFareBreakdown;
// echo "<pre>";
// print_r($FlightFareBreakdown);
// exit;
$RoomInfoJson = $arrCustomerInvoiceData[0]['RoomInfoJson'];
$intAdultsCT = 0;
$intChildsCT = 0;
$intInfantsCT = 0;
$paxTOtalArr = json_decode($RoomInfoJson);
if (!empty($paxTOtalArr)) {
foreach ($paxTOtalArr as $PaxTotal) {
$intAdultsCT += @$PaxTotal->Adult;
$intChildsCT += @$PaxTotal->Child;
$intInfantsCT += @$PaxTotal->Infant;
$departuredate = @$PaxTotal->departuredate;
$returndate = trim(@$PaxTotal->returndate);
$totalmember = trim(@$PaxTotal->totalmember);
}
}
$intTatalPaxCT = $intAdultsCT + $intChildsCT;
$TBQAirInvenSysId = $arrCustomerInvoiceData[0]['TBQAirInvenSysId'];
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $TBQAirInvenSysId . "') ";
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
// echo "<pre>";print_r($arrCustomerInvoiceData[0]);echo "</pre>";die;
$this->view->intTotalOfferedForAllPax = $intTotalOfferedForAllPax;
$this->view->intTPSysId = $this->getRequest()->getParam("id");
$this->view->version = $versionId;
$this->view->arrtravellerList = $arrtravellerList;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
$arrAPIBookingRes = json_decode($arrCustomerInvoiceData[0]['APIBookingRes'], true);
if (is_array($arrAPIBookingRes)) {
$arrAPIBookingRes = $arrAPIBookingRes;
} else {
$arrAPIBookingRes = json_decode($arrAPIBookingRes, true);
}
$arrPassenger = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['Passenger']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['Passenger'] : '';
$Segments = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['Segments']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['Segments'] : '';
$InvoiceNo = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['InvoiceNo']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['InvoiceNo'] : '';
$InvoiceCreatedOn = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['InvoiceCreatedOn']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['InvoiceCreatedOn'] : '';
$CancellationCharges = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['CancellationCharges']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['CancellationCharges'] : '';
$FareRuleDetails = isset($arrAPIBookingRes['Response']['Response']['FlightItinerary']['FareRules']) ? $arrAPIBookingRes['Response']['Response']['FlightItinerary']['FareRules'] : '';
// echo "<pre>";print_r($invoiceData);die;
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function getMax($array)
{
// Returns maximum in array
$n = count($array);
$max = $array[0];
for ($i = 1; $i < $n; $i++)
if ($max < $array[$i])
$max = $array[$i];
return $max;
}
public function getMin($array)
{
$n = count($array);
$min = $array[0];
for ($i = 1; $i < $n; $i++)
if ($min > $array[$i])
$min = $array[$i];
return $min;
}
public function viewFlightProposalAction()
{
$this->view->MasterTPSysId = $MasterTPSysId = base64_decode($this->_request->getParam('id'));
//Zend_Session::namespaceUnset('sessionFlightProposalParams');
$objFlightProposal = new Travel_Model_TblFlightProposal();
if (!empty($MasterTPSysId)) {
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($MasterTPSysId,'query');
if (count($arrAgencyDetails) == 0) {
echo 'Details not found.';
exit;
}
$this->view->arrAgencyDetails = $arrAgencyDetails;
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
$CustomerSysId = trim($arrFlightDetails[0]['CustomerSysId']);
$this->view->IsInternational = $IsInternational = trim($arrFlightDetails[0]['IsInternational']);
$this->view->JourneyType = $JourneyType = trim($arrFlightDetails[0]['JourneyType']);
//echo "<pre>";print_r($arrFlightDetails[0]['StatusType']);echo "</pre>";
$this->view->arrAirDetails = $arrFlightDetails;
if ($arrFlightDetails[0]['StatusType'] == 17) {
die('Oops this proposal has been expired.');
}
// echo "<pre>";print_r($arrFlightDetails);echo "</pre>";
$this->view->SourceAirportCode = $SourceAirportCode = trim($arrFlightDetails[0]['SourceAirportCode']);
if (!empty($SourceAirportCode)) {
$arrSourceAirport = $objFlightProposal->getAirPortByAirportCode($SourceAirportCode);
}
$this->view->SourceAirport = isset($arrSourceAirport['label']) ? $arrSourceAirport['label'] : '';
$this->view->DestAirportCode = $DestAirportCode = trim($arrFlightDetails[0]['DestAirportCode']);
if (!empty($DestAirportCode)) {
$arrDestinationAirport = $objFlightProposal->getAirPortByAirportCode($DestAirportCode);
}
$this->view->DestinationAirport = isset($arrDestinationAirport['label']) ? $arrDestinationAirport['label'] : '';
//echo "<pre>";print_r($arrSourceAirport);
$route = $arrFlightDetails[0]['route'];
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$AgentSysId = $arrAgencyDetails['AgentSysId'];
$arrRoomInfoJson = json_decode($arrAgencyDetails['RoomInfoJson'], true);
/* Selected Flight Specific Session Values */
$intAdultCount = $arrRoomInfoJson[1]['Adult'];
$intChildCount = $arrRoomInfoJson[1]['Child'];
$intInfantCount = $arrRoomInfoJson[1]['Infant'];
$departuredate = $arrRoomInfoJson[1]['departuredate'];
$returndate = $arrRoomInfoJson[1]['returndate'];
$strOriginAirPortCode = $arrRoomInfoJson[1]['fromaircode'];
$strDestinationAirPortCode = $arrRoomInfoJson[1]['toaircode'];
$strairclass = $arrRoomInfoJson[1]['airclass'];
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$sessionFlightProposalParams->params['MasterTPSysId'] = $MasterTPSysId;
$sessionFlightProposalParams->params['AgencySysId'] = $AgencySysId;
$sessionFlightProposalParams->params['AgentSysId'] = $AgentSysId;
$sessionFlightProposalParams->params['CustomerSysId'] = $CustomerSysId;
$sessionFlightProposalParams->params['AdultCount'] = $intAdultCount;
$sessionFlightProposalParams->params['ChildCount'] = $intChildCount;
$sessionFlightProposalParams->params['InfantCount'] = $intInfantCount;
$sessionFlightProposalParams->params['departuredate'] = $departuredate;
$sessionFlightProposalParams->params['returndate'] = $returndate;
$sessionFlightProposalParams->params['airclass'] = $strairclass;
$sessionFlightProposalParams->params['route'] = $route;
$objAirport = new Travel_Model_TblAirport();
$objAirport->strAirportCode = $strOriginAirPortCode;
$arrSourceCityId = $objAirport->getAirportList();
if (!empty($arrSourceCityId) ) {
$intSourceCityId = $arrSourceCityId[0]['CityId'];
$intCountryCode = $arrSourceCityId[0]['CountryCode'];
$intOriginCountryCode = trim($arrSourceCityId[0]['CountryCode']);
} else {
$intSourceCityId = "";
$intCountryCode = "";
}
$objAirport->strAirportCode = $strDestinationAirPortCode;
$arrDestinationCityId = $objAirport->getAirportList();
if (!empty($arrDestinationCityId) ) {
$intDestinationCityId = $arrDestinationCityId[0]['CityId'];
$intDestinationCountryCode = trim($arrDestinationCityId[0]['CountryCode']);
} else {
$intDestinationCityId = "";
}
if ($intOriginCountryCode != "IN" || empty($intOriginCountryCode)) {
$sessionFlightProposalParams->params['IsInterNational'] = true;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intOriginCountryCode);
} else if ($intDestinationCountryCode != "IN" || empty($intDestinationCountryCode)) {
$sessionFlightProposalParams->params['IsInterNational'] = true;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intDestinationCountryCode);
} else {
$sessionFlightProposalParams->params['IsInterNational'] = false;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intDestinationCountryCode);
}
/* Selected Flight Specific Session Values Ends */
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$getcustomerDetail = $this->_crmcusttravelplan->GetTravelPlanDetailsofCustomer($MasterTPSysId);
$agencyStaffObj = new Travel_Model_TblAgencyStaff();
$agentDetail = $agencyStaffObj->getUserDetailsById($arrFlightDetails[0]['AgentSysId']);
$AgencySysId = $arrFlightDetails[0]['AgencySysId'];
$getAgentDetail = array('AgentName' => $agentDetail['FirstName'] . " " . $agentDetail['LastName'], 'AgentContact' => $agentDetail['ContactNo1']);
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$getAgencyDetail = $this->_crmcustomerObj->GetAgencyDetailById($AgencySysId);
$getAgencyDetail['fullAddress'] = isset($agencyAddress['CityName']) ? $agencyAddress['CityName'] . $agencyState . $agencyCountry : '';
//send email to agent when customer open proposal
//echo "<pre>";print_r($getcustomerDetail);die;
//echo $arrFlightDetails[0]['IsPlanViewed'];die;
if ($arrFlightDetails[0]['IsPlanViewed'] == 0) {
$emailSendId = trim($getAgencyDetail['PrimaryEmail']);
$fromName = (isset($getAgencyDetail['DisplayName']) && !empty($getAgencyDetail['DisplayName'])) ? trim($getAgencyDetail['DisplayName']) : trim(trim($getAgencyDetail['Title']));
$emailId = trim($agentDetail['EmailId']);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/proposal/');
$html->assign('type', 'proposalViewFlightSendEmailToAgent');
$html->assign('customerDetails', $getcustomerDetail);
$html->assign('agentDetails', $agentDetail);
$html->assign('agencyDetails', $getAgencyDetail);
$link = $this->view->baseUrl("/flight-proposal/view-flight-proposal/id/" . base64_encode($MasterTPSysId));
$html->assign('link', $link);
$html->assign('data', $arrFlightDetails);
$html->assign('destination', trim(stripslashes($arrDestinationAirport['label'])));
//$html->assign('data', $hotelValues);
$bodyText = $html->render('email-template.phtml');
$subject = 'HelloGTX - Proposal Open Alert !';
if($getAgencyDetail['IsDisplayHelloGTX'] == 1){
$subject = $fromName.' - Proposal Open Alert !';
}
//$bodyText='Customer open your proposal' .$this->view->baseUrl("/proposal/preview-hotel-result/mid/".base64_encode($mid)."/pid/".base64_encode($pid)."/uid/".base64_encode($uid)."/type/".base64_encode($type));
//$bodyText='Customer open your proposal' .$this->view->baseUrl("/proposal/preview-hotel-result/mid/".base64_encode($mid)."/pid/".base64_encode($pid)."/uid/".base64_encode($uid)."/type/".base64_encode($type));
$emailData = array('fromEmail' => trim($emailSendId), 'fromName' => trim($fromName), 'subject' => $subject, 'to' => array(trim($emailId)), 'bodyHtml' => $bodyText, 'bodyText' => '');
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $MasterTPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $arrFlightDetails[0]['AgentSysId'],
"Title" => $bodyText,
"Source" => $arrEmailStatisticsType[2], // 1 For Misc
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
$this->mailSentByElastice($emailData, $arrEmailStatistics, 0, 0);
//send sms
$mobile_no = trim($agentDetail['ContactNo1']);
$updateData = new Payment_Model_Checkotp();
$bitly_response = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->getSmallLinkFromBitlyAPI($link, $this->BITLYLOGIN, $this->BITLYAPIKEY);
if ($bitly_response['errorCode'] == 0) {
$link = $bitly_response['results'][$link]['shortUrl'];
}
$massage = "Your Customer(" . trim($getcustomerDetail[0]['FirstName']) . " " . trim($getcustomerDetail[0]['LastName']) . "-" . trim($getcustomerDetail[0]['Contacts']) . ") has just opened the proposal for " . trim(stripslashes($arrDestinationAirport['label'])) . ",Click: " . $link . " to view and assist for finalizing.";
$this->postFields = "";
$this->postFields .= "&method=$this->SMSMETHOD";
$this->postFields .= "&api_key=$this->SMSAPIKEY";
$this->postFields .= "&to=$mobile_no";
$this->postFields .= "&sender=$this->SMSSENDER";
$this->postFields .= "&message=$massage";
$this->postFields .= "&format=$this->SMSFORMAT";
$postURL = $this->SMSURL;
$arrSMSStatisticsType = array_keys(unserialize(ARR_SMS_STATISTICS_TYPE));
$arrSMSStatistics = array(
"TPSysId" => $arrFlightDetails[0]['TPSysId'],
"TypeSysId" => 2, // 1 For Email 2 For SMS
"AgencySysId" => $arrFlightDetails[0]['AgencySysId'],
"AgentSysId" => $arrFlightDetails[0]['AgentSysId'],
"Title" => $massage,
"Source" => $arrSMSStatisticsType[0], // 2 For Resend
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
//$resultVal = $updateData->sendSmsDetails($postURL, $this->postFields, $arrSMSStatistics);
$resultVal['status'] = 'OK';
if (isset($resultVal['status']) && $resultVal['status'] == 'OK') {
$errorMessage = "";
} else {
$errorMessage = "Oops! Please try again";
}
//echo $errorMessage."/".print_r($resultVal)."/".$massage."/".$mobile_no;
//end of send sms
if (!empty($MasterTPSysId)) {
$data = array(
'isPlanViewed' => 1,
'UpdateDate' => date('Y-m-d H:i:s'),
);
$where = "MasterTPSysId = " . $MasterTPSysId;
$updatetravelplanrecord = $this->_crmcusttravelplan->UpdateCustomerTravelPlan($data, $where);
}
}
//#end
$this->view->getcustomerDetail = $getcustomerDetail;
}
}
public function savePassengerDetailsAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$objFlight = new Travel_Model_TblFlight();
$objFlightProposal = new Travel_Model_TblFlightProposal();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
//echo "<pre>";print_r($sessionFlightProposalParams->params);exit;
$TPSysId = $sessionFlightProposalParams->params['TPSysId'];
$MasterTPSysId = $sessionFlightProposalParams->params['MasterTPSysId'];
$intCustomerSysId = $sessionFlightProposalParams->params['CustomerSysId'];
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$AdultCount = $sessionFlightProposalParams->params['AdultCount'];
$ChildCount = $sessionFlightProposalParams->params['ChildCount'];
$InfantCount = $sessionFlightProposalParams->params['InfantCount'];
$departureDates = $sessionFlightProposalParams->params['departuredate'];
$totalPassengers = $AdultCount + $ChildCount + $InfantCount;
$interNationalSearch = $sessionFlightProposalParams->params['IsInterNational'];
$post = $this->getRequest()->getPost();
$arrIntTpAirId = isset($post['arrIntTpAirId']) ? json_decode($post['arrIntTpAirId']) : [];
$AirInvenSysId = $post['AirInvenSysId'];
//echo "<pre>";print_r($arrIntTpAirId);exit;
$ReturnAirInvenSysId = $post['ReturnAirInvenSysId'];
$arrCustomer = array();
$arrCustomerMembers = array();
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightDetails();
$getTravelPlanByTPSysIds = $objFlightProposal->getVersionIdByTPSysIds($MasterTPSysId);
$getflightData = $objFlight->getFlightSearchListForProposal("'" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "'");
$departure_dates_string = $sessionFlightProposalParams->params['departuredate'];
$explode_date = explode("/", $departure_dates_string);
$departure_dates = $explode_date[2] . '-' . $explode_date[1] . '-' . $explode_date[0];
$return_dates_string = $sessionFlightProposalParams->params['returndate'];
$explode_return_date = explode("/", $return_dates_string);
$return_dates = (isset($sessionFlightProposalParams->params['return_dates']) && !empty($sessionFlightProposalParams->params['return_dates'])) ? $explode_return_date[2] . '-' . $explode_return_date[1] . '-' . $explode_return_date[0] : '1900-01-01';
//echo "<pre>";print_r($TPSysId);die;
//echo "<pre>";print_r($sessionFlightProposalParams->params);exit;
for ($i = 1; $i <= $totalPassengers; $i++) {
$paxType = $post['paxType-' . $i];
$firstName = $post['passenger-firstname-' . $i];
$lastName = $post['passenger-lastname-' . $i];
$relation = $post['relation-' . $i];
$salutation = $post['passenger-salutation-' . $i];
$mobileNumber = $post['mobile_number'];
$email_id = $post['email_id'];
$passengerDob = $post['passenger-dob-' . $i];
$passengerPassportNo = isset($post['passenger-PassportNo-' . $i]) ? $post['passenger-PassportNo-' . $i] : '';
$passengerPassportExpiry = isset($post['passenger-PassportExpiry-' . $i]) ? $post['passenger-PassportExpiry-' . $i] : '';
if (!empty($passengerDob)) {
$passengerDob = explode("/", $passengerDob);
$passengerDob = $passengerDob[2] . "-" . $passengerDob[1] . "-" . $passengerDob[0];
}
if (!empty($passengerPassportExpiry)) {
$passengerPassportExpiry = explode("/", $passengerPassportExpiry);
$passengerPassportExpiry = $passengerPassportExpiry[2] . "-" . $passengerPassportExpiry[1] . "-" . $passengerPassportExpiry[0];
}
$passengerCity = $post['passenger-city-1'];
$passengerCountry = $post['passenger-country-1'];
$passengerAddress = $post['passenger-address-1'];
if (empty($mobileNumber)) {
$response = array('succes' => false, 'msg' => 'Please enter mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (strlen($mobileNumber) != 10 && strlen($mobileNumber) != 11) {
$response = array('succes' => false, 'msg' => 'Please enter a valid mobile number.', 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
if (empty($email_id)) {
$response = array('succes' => false, 'msg' => 'Please enter Email ID.', 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (!filter_var($email_id, FILTER_VALIDATE_EMAIL)) {
$msg = "Email address is not valid.";
$response = array('success' => false, 'msg' => $msg, 'index' => 'email_id');
echo json_encode($response);
exit;
}
if (empty($firstName)) {
$response = array('succes' => false, 'msg' => 'Please enter first name.', 'index' => 'passenger-firstname-' . $i);
echo json_encode($response);
exit;
}
if (empty($passengerDob)) {
$response = array('succes' => false, 'msg' => 'Please enter date of birth.', 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportNo-' . $i]) && empty($passengerPassportNo)) {
$response = array('succes' => false, 'msg' => 'Please enter passenger passport no.', 'index' => 'passenger-PassportNo-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && empty($passengerPassportExpiry)) {
$response = array('succes' => false, 'msg' => 'Please enter passenger expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if (isset($post['passenger-PassportExpiry-' . $i]) && strtotime($departure_dates) > strtotime($passengerPassportExpiry)) {
$response = array('succes' => false, 'msg' => 'Please enter passenger valid expiry date.', 'index' => 'passenger-PassportExpiry-' . $i);
echo json_encode($response);
exit;
}
if ($paxType == 1) {
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $sessionFlightProposalParams->params['departuredate']);
$departureDatesAD = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$AdultAge = date_diff(date_create($passengerDob), date_create($departureDatesAD))->y;
if ($AdultAge < 12) {
$response = array('succes' => false, 'msg' => "Adult age should be greater than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 2) {
//$departureDates = $sessionFlightSearchParams->params['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $sessionFlightProposalParams->params['departuredate']);
//echo '<pre>';print_r($arrDepartureDates[2]);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$childAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($childAge < 2 || $childAge >= 12) {
$response = array('succes' => false, 'msg' => "Child age should be 2 years or less than 12 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
if (!empty($paxType) && $paxType == 3) {
//$departureDates = $sessionFlightSearchParams->params['departure_dates'];
if (!empty($departureDates)) {
$arrDepartureDates = explode("/", $departureDates);
$departureDates = $arrDepartureDates[2] . "-" . $arrDepartureDates[1] . "-" . $arrDepartureDates[0];
$infantAge = date_diff(date_create($passengerDob), date_create($departureDates))->y;
if ($infantAge >= 2) {
$response = array('succes' => false, 'msg' => "Infant age should be less than 2 years. ", 'index' => 'passenger-dob-' . $i);
echo json_encode($response);
exit;
}
} else {
$response = array('succes' => false, 'msg' => "Departure date can not be empty.", 'index' => 'mobile_number');
echo json_encode($response);
exit;
}
}
//echo $departureDates;die('dd');
if (empty($passengerCity)) {
$response = array('succes' => false, 'msg' => 'Please enter City.', 'index' => 'passenger-city-' . $i);
echo json_encode($response);
exit;
}
if (empty($passengerAddress)) {
$response = array('succes' => false, 'msg' => 'Please enter Address.', 'index' => 'passenger-address-' . $i);
echo json_encode($response);
exit;
}
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$intLeadSourceSysId = $this->_crmcustomerObj->getLeadSource($AgencySysId, 'Agency'); // for Master LeadSouce Creation
$leadsource = (isset($intLeadSourceSysId[0]['LeadSourceSysId']) && !empty($intLeadSourceSysId[0]['LeadSourceSysId'])) ? $intLeadSourceSysId[0]['LeadSourceSysId'] : 0;
$this->_leadstageObj = new Travel_Model_TblLeadStage();
$getStageList = $this->_leadstageObj->getLeadStageSatus('New');
$leadstage = (isset($getStageList[0]['TPStatusSysId']) && !empty($getStageList[0]['TPStatusSysId'])) ? $getStageList[0]['TPStatusSysId'] : 0;
if ($i == 1 && $relation == 0) {
$arrCustomer = array(
'AgencySysId' => $AgencySysId, 'CRMCustSysId' => 0, 'EmailId' => $email_id, 'Salutation' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgencySysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'PassportNo' => $passengerPassportNo, 'PassportExpiry' => $passengerPassportExpiry, 'Address' => $passengerAddress, 'CitySysId' => $passengerCity, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0',
'LeadSourceSysId' => $leadsource, 'LeadStageSysId' => $leadstage
);
if (empty($intCustomerSysId)) {
$objGest = new Travel_Model_Tbltbbcuser();
$arrCustomer['ContactNumber'] = $mobileNumber;
$intCustomerSysId = $objGest->createAgencyCustomer($arrCustomer, $AgencySysId);
} else {
$objGest = new Travel_Model_Tbltbbcuser();
$arrCustomer['ContactNumber'] = $mobileNumber;
$intCustomerSysId = $objGest->createAgencyCustomer($arrCustomer, $AgencySysId);
}
} else {
if (!empty($passengerPassportNo)) {
$arrCustomerMembers[] = array(
'AgencySysId' => $AgencySysId, 'EmailId' => $email_id, 'Title' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgencySysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'PassportNo' => $passengerPassportNo, 'PassportExpiry' => $passengerPassportExpiry, 'Address' => $passengerAddress, 'CitySysId' => $passengerCity, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0'
);
} else {
$arrCustomerMembers[] = array(
'AgencySysId' => $AgencySysId, 'EmailId' => $email_id, 'Title' => $salutation, 'Relation' => $relation,
'Logo' => '', 'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '', 'UserId' => '0', 'IsEmployee' => '0',
'Contacts' => $mobileNumber, 'ExitDate' => EMPTY_DATE, 'UserName' => '', 'FirstName' => $firstName, 'LastName' => $lastName,
'Designation' => '', 'Password' => '', 'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => 0, 'CreatedByUserSysId' => $AgencySysId,
'RandomCode' => '', 'Gender' => '', 'UserNickName' => '', 'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '', 'DOB' => $passengerDob, 'Address' => $passengerAddress, 'CitySysId' => $passengerCity, 'paxType' => $paxType,
'StateOrZoneSysId' => 0, 'CountrySysId' => $passengerCountry, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '', 'UpdateDate' => EMPTY_DATE,
'RegisterDate' => EMPTY_DATE, 'IsApproved' => 0, 'IsActive' => 1, 'IsMarkForDelete' => '0'
);
}
}
}
if (empty($intCustomerSysId)) {
throw new Exception('Customer Id not found.');
}
$arrCustomerMembersIds = array();
if (!empty($arrCustomerMembers) ) {
$arrCustomerMembersIds = $objFlight->createAgencyCustomerMembers($arrCustomerMembers, $AgencySysId, $intCustomerSysId);
// echo "<pre>";print_r($arrCustomerMembersIds);exit;
}
//$intCRMCustSysId = $objFlight->getCRMCustSysId($arrCustomer);
if (!empty($intCustomerSysId)) {
$currentDate = date('Y-m-d H:i:s');
$arrPaxData = array();
if (!empty($TPSysId)) {
$objFlight->deleteTravelPlanPax($TPSysId);
foreach ($arrSelectedFlightFareDetails as $ks => $flightRounds) {
if (!empty($arrCustomer) ) {
$arrPaxData['TPSysId'] = $TPSysId;
$arrPaxData['VersionId'] = '1';
$arrPaxData['CustomerSysId'] = $intCustomerSysId;
$arrPaxData['MemberSysId'] = 0;
$arrPaxData['UpdateDate'] = date('Y-m-d H:i:s');
$arrPaxData['IsApproved'] = '1';
$arrPaxData['IsActive'] = '1';
$arrPaxData['IsMarkForDelete'] = '0';
$arrPaxData['IsReturn'] = $ks;
$objFlight->insertTravelPlanPax($arrPaxData);
}
if (!empty($arrCustomerMembersIds) ) {
$VersionId = 2;
foreach ($arrCustomerMembersIds as $memberSysId) {
$arrPaxData['TPSysId'] = $TPSysId;
$arrPaxData['VersionId'] = $VersionId;
$arrPaxData['CustomerSysId'] = $intCustomerSysId;
$arrPaxData['MemberSysId'] = $memberSysId;
$arrPaxData['UpdateDate'] = date('Y-m-d H:i:s');
$arrPaxData['IsApproved'] = '1';
$arrPaxData['IsActive'] = '1';
$arrPaxData['IsMarkForDelete'] = '0';
$arrPaxData['IsReturn'] = $ks;
$objFlight->insertTravelPlanPax($arrPaxData);
$VersionId++;
}
}
}
}
}
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => $AirInvenSysId,
"ReturnAirInvenSysId" => !empty($ReturnAirInvenSysId) ? $ReturnAirInvenSysId : 0,
"CustomerSysId" => $intCustomerSysId,
"arrIntTpAirId" => $arrIntTpAirId
);
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($urlData);
$response = array('success' => true, 'intCustomerSysId' => $intCustomerSysId, 'strUrlData' => $strUrlData);
echo json_encode($response);
exit;
} else {
$strUrlData = $this->view->strUrlData = $this->getRequest()->getParam('data');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
//echo "<pre>"; print_r($arrUrlData);
$this->view->MasterTPSysId = $MasterTPSysId = trim($arrUrlData['MasterTPSysId']);
$this->view->TPSysId = $TPSysId = trim($arrUrlData['TPSysId']);
$this->view->AirInvenSysId = $AirInvenSysId = trim($arrUrlData['AirInvenSysId']);
$this->view->ReturnAirInvenSysId = $ReturnAirInvenSysId = isset($arrUrlData['ReturnAirInvenSysId']) ? trim($arrUrlData['ReturnAirInvenSysId']) : 0;
$strConditionNewVersionId = isset($arrUrlData['arrIntTpAirId']) ? ($arrUrlData['arrIntTpAirId']) : 0;
$this->view->arrIntTpAirId = $arrIntTpAirId = isset($arrUrlData['arrIntTpAirId']) ? json_encode($arrUrlData['arrIntTpAirId']) : 0;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($MasterTPSysId);
// echo "<pre>";print_r($arrAgencyDetails);exit;
$this->view->arrAgencyDetails = $arrAgencyDetails;
$arrProposalDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
$this->view->arrProposalDetails = $arrProposalDetails;
/* Selected Flight Fare Details */
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
if (!empty($ReturnAirInvenSysId)) {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
if (!empty($strConditionNewVersionId)) {
// $objFlight->strConditionNewVersionId = " VersionId IN ('" . implode(',',$strConditionNewVersionId) . "') ";
}
} else {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "') ";
if (!empty($strConditionNewVersionId)) {
$objFlight->strConditionNewVersionId = " VersionId IN ('" . implode(',', $strConditionNewVersionId) . "') ";
}
}
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
$getSlectedFlightBookFareDetails = $objFlight->getSlectedFlightBookFareDetails();
$this->view->arrSelectedFlightFareDetails = $arrSelectedFlightFareDetails;
$this->view->getSlectedFlightBookFareDetails = $getSlectedFlightBookFareDetails;
$ARR_SALUTION = unserialize(ARR_SALUTION);
$ARR_CUSTOMER_RELATION = unserialize(ARR_CUSTOMER_RELATION);
$this->view->ARR_CUSTOMER_RELATION = $ARR_CUSTOMER_RELATION;
$this->view->ARR_SALUTION = $ARR_SALUTION;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$CustomerSysId = isset($arrAgencyDetails['CustomerSysId']) ? $arrAgencyDetails['CustomerSysId'] : $sessionFlightProposalParams->params['CustomerSysId'];
if (isset($CustomerSysId) && !empty($CustomerSysId) && $CustomerSysId > 0) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$getcustomerDetail = $this->_crmcusttravelplan->GetTravelPlanDetailsofCustomer($MasterTPSysId);
$customerDetails = $objFlightProposal->GetFlightProposalAgencyCustomerDetails($CustomerSysId);
$this->view->customerDetails = $customerDetails;
$this->view->getcustomerDetail = $getcustomerDetail;
}
//echo "<pre>";print_r($customerDetails);echo "</pre>";
/* Proposal Customer Related Details Ends */
if (!empty($MasterTPSysId)) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
//echo "<pre>";print_r($arrFlightDetails);
$this->view->arrAirDetails = $arrFlightDetails;
$SourceAirportCode = trim($arrFlightDetails[0]['SourceAirportCode']);
if (!empty($SourceAirportCode)) {
$arrSourceAirport = $objFlightProposal->getAirPortByAirportCode($SourceAirportCode);
}
$this->view->SourceAirport = isset($arrSourceAirport['label']) ? $arrSourceAirport['label'] : '';
$DestAirportCode = trim($arrFlightDetails[0]['DestAirportCode']);
if (!empty($DestAirportCode)) {
$arrDestinationAirport = $objFlightProposal->getAirPortByAirportCode($DestAirportCode);
}
$this->view->DestinationAirport = isset($arrDestinationAirport['label']) ? $arrDestinationAirport['label'] : '';
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($TPSysId);
$this->view->arrAgencyDetails = $arrAgencyDetails;
}
}
}
public function getFlightDetailsAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$MasterTPSysId = $sessionFlightProposalParams->params['MasterTPSysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
$returndate = $sessionFlightProposalParams->params['returndate'];
$route = $sessionFlightProposalParams->params['route'];
$post = $this->getRequest()->getPost();
$SelectedResultIndex = $post['APIResultIndex'];
if (!empty($returndate)) {
$arrRreturndate = explode("/", $returndate);
$returndate = $arrRreturndate[2] . "-" . $arrRreturndate[1] . "-" . $arrRreturndate[0];
} else {
$returndate = "";
}
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$TPSysId = trim($this->getRequest()->getParam('TPSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
$sessionFlightProposalParams->params['TPSysId'] = $TPSysId;
if (!empty($AirInvenSysId)) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId, $TPSysId, $AirInvenSysId);
$AgentExtraMarkUP = $arrFlightDetails[0]['MarkUp'] + $arrFlightDetails[0]['AgentsCustomServiceTaxAmount'];
$TotalCost = $arrFlightDetails[0]['TotalCost'];
$VersionId = $arrFlightDetails[0]['VersionId'];
$arrIntTpAirId[] = $VersionId;
$objFlight = new Travel_Model_TblFlight();
$arrFlightDetails = $objFlight->getFlightDetailsByTBQAirInvenSysId($AirInvenSysId, $IsInterNational);
$JourneyType = $arrFlightDetails['JourneyType'];
$ArrivalTime = (array) $arrFlightDetails['ArrivalTime'];
$arrArrivalTime = explode(" ", $ArrivalTime['date']);
$ArrivalTime = $arrArrivalTime[0];
$DepartureTime = (array) $arrFlightDetails['DepartureTime'];
$arrDepartureTime = explode(" ", $DepartureTime['date']);
$DepartureTime = $arrDepartureTime[0];
$FlightNumberDB = trim($arrFlightDetails['FlightNumber']);
$OfferedFareDB = round($arrFlightDetails['PublishedFare']);
$FareClassDB = trim($arrFlightDetails['FareClass']);
$arrData = array(
'JourneyType' => trim($JourneyType),
'Origin' => trim($arrFlightDetails['OriginAirportCode']),
'Destination' => trim($arrFlightDetails['DestinationAirportCode']),
'PreferredDepartureTime' => trim($ArrivalTime),
'PreferredReturnDate' => trim($returndate),
"AdultCount" => $intAdultCount,
"ChildCount" => $intChildCount,
"InfantCount" => $intInfantCount,
"PreferredAirlines" => trim($arrFlightDetails['AirlineCode']),
"Sources" => trim($arrFlightDetails['AirlineCode']),
"AirlineName" => trim($arrFlightDetails['AirlineName']),
"FlightNumber" => trim($arrFlightDetails['FlightNumber']),
"IsInterNational" => $IsInterNational,
"IsLCC" => trim($arrFlightDetails['IsLCC']),
"apiTraceId" => trim($arrFlightDetails['apiTraceId']),
"IsRefundable" => trim($arrFlightDetails['IsRefundable']),
"FareClass" => trim($arrFlightDetails['FareClass']),
"ResultIndex" => trim($arrFlightDetails['ApiResultIndex']),
"IsLCCReturn" => '0'
);
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->searchApiProposalFlights($arrData);
if (isset($response['ResponseStatus']) && $response['ResponseStatus'] == 1) {
if (!empty($response['FlightResults'])) {
$TraceId = $response['TraceId'];
$flightFound = false;
foreach ($response['FlightResults'] as $result) {
$ResultIndex = $result['ResultIndex'];
$OfferedFare = round($result['Fare']['OfferedFare']);
$CommissionEarned = $result['Fare']['CommissionEarned'];
$AirlineCode = $result['Segments'][0][0]['Airline']['AirlineCode'];
$FlightNumber = $result['Segments'][0][0]['Airline']['FlightNumber'];
$FlightNumberAPI = $AirlineCode . "-" . $FlightNumber;
$FareClass = $result['Segments'][0][0]['Airline']['FareClass'];
$IsGSTMandatory = isset($result['IsGSTMandatory']) ? $result['IsGSTMandatory'] : '0';
if (trim($FlightNumberAPI) === $FlightNumberDB && $FareClass === $FareClassDB) {
$checkArray = array(
"FlightNumberAPI" => $FlightNumberAPI,
"FlightNumberDB" => $FlightNumberDB,
"OfferedFareDB" => $OfferedFareDB,
"OfferedFare" => $OfferedFare,
);
$flightFound = true;
$arrData = array(
"apiTraceId" => $TraceId,
"ApiResultIndex" => $ResultIndex,
"AirInvenSysId" => $AirInvenSysId,
"AgencySysId" => $AgencySysId
);
$sessionFlightProposalParams->params['TraceId'] = $TraceId;
$sessionFlightProposalParams->params['ResultIndex'] = $ResultIndex;
$responseFareQuote = $this->proposalFareQuoteDetailsAction($arrData);
//echo "<pre>";print_r($responseFareQuote);exit;
$updateData = array(
"Cost" => $responseFareQuote['intOfferedFare'],
"TotalCost" => number_format(($responseFareQuote['UpdatedFare'] + $AgentExtraMarkUP), 2, '.', '')
);
$updateDataFare = array(
"IsGSTMandatory" => $IsGSTMandatory
);
$objFlight->updateBookingDetails($updateData, $VersionId, $AirInvenSysId);
$objFlight->updateFlightFareDetails($updateDataFare, $AirInvenSysId);
$FareQuoteErrorCode = $responseFareQuote['ErrorCode'];
$FareQuoteErrorMessage = $responseFareQuote['ErrorMessage'];
if (empty($FareQuoteErrorCode)) {
$arrIsPriceChanged = $responseFareQuote['arrIsPriceChanged'];
$UpdatedFare = $responseFareQuote['UpdatedFare'];
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => $AirInvenSysId,
"arrIntTpAirId" => $arrIntTpAirId
);
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($urlData);
$response = array('success' => true, 'msg' => '', 'arrIsPriceChanged' => $arrIsPriceChanged, 'UpdatedFare' => ($UpdatedFare + $AgentExtraMarkUP), 'OldFare' => $TotalCost, 'urlData' => $strUrlData);
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'msg' => $FareQuoteErrorMessage);
echo json_encode($response);
exit;
}
break;
}
}
// if flight not found in response...
if (!$flightFound) {
$response = array('success' => false, 'msg' => "Oops! This flight is no longer available.Please contact administrator for more details.");
echo json_encode($response);
exit;
}
} else {
//Error
$ErrorMessage = $response['ErrorMessage'];
if (!empty($ErrorMessage)) {
$response = array('success' => false, 'msg' => $ErrorMessage);
echo json_encode($response);
exit;
}
}
} else {
//Error
$ErrorMessage = $response['ErrorMessage'];
if (!empty($ErrorMessage)) {
$response = array('success' => false, 'msg' => $ErrorMessage);
echo json_encode($response);
exit;
}
}
} else {
//Error
$response = array('success' => false, 'msg' => "Oops! There might be some technical error.Please contact administrator for more details.");
echo json_encode($response);
exit;
}
}
exit;
}
public function getRoundTripFlightDetailsAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$MasterTPSysId = $sessionFlightProposalParams->params['MasterTPSysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
$returndate = $sessionFlightProposalParams->params['returndate'];
if (!empty($returndate)) {
$arrRreturndate = explode("/", $returndate);
$returndate = $arrRreturndate[2] . "-" . $arrRreturndate[1] . "-" . $arrRreturndate[0];
} else {
$returndate = "";
}
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$ReturnAirInvenSysId = trim($this->getRequest()->getParam('ReturnAirInvenSysId'));
$arrAirInvenSysIds[] = $AirInvenSysId;
$arrAirInvenSysIds[] = $ReturnAirInvenSysId;
// $objFlightProposal = new Travel_Model_TblFlightProposal();
// $objFlightProposal->strCondition = " t3.InvnItemSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
// $arrVersionId = $objFlightProposal->getVersionIdByTPSysIds($intTPSysId);
$TPSysId = trim($this->getRequest()->getParam('TPSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
$sessionFlightProposalParams->params['TPSysId'] = $TPSysId;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId, $TPSysId);
$DetailsByAirInvenSysId = $objFlightProposal->getFlightProposalDetailsByAirInvenSysId($AirInvenSysId);
$DetailsByReturnAirInvenSysId = $objFlightProposal->getFlightProposalDetailsByAirInvenSysId($ReturnAirInvenSysId);
$AgentExtraMarkUP = $DetailsByAirInvenSysId['MarkUp'] + $DetailsByAirInvenSysId['AgentsCustomServiceTaxAmount'];
$ReturnAgentExtraMarkUP = $DetailsByReturnAirInvenSysId['MarkUp'] + $DetailsByReturnAirInvenSysId['AgentsCustomServiceTaxAmount'];
$arrIntTpAirId[] = $DetailsByAirInvenSysId['VersionId'];
$arrIntTpAirId[] = $DetailsByReturnAirInvenSysId['VersionId'];
// echo "<pre>";print_r($arrIntTpAirId);
// echo "<pre>";print_r($TPSysId);
// echo "<pre>";print_r($arrAirInvenSysIds);
// echo "<pre>";print_r($arrIntTpAirId);exit;
if (!empty($arrAirInvenSysIds) ) {
$arrIsPriceChanged = array();
$UpdatedFare = array();
$OfferedFareNew = array();
$arrResultIndex = array();
$sessionFlightProposalParams->params['ResultIndex'] = '';
$arrNew = array();
//foreach ($arrAirInvenSysIds as $AirInvenSysId){
$objFlight = new Travel_Model_TblFlight();
$arrFlightDetails = $objFlight->getFlightDetailsByTBQAirInvenSysId($AirInvenSysId, $IsInterNational);
//echo "<pre>";print_r($arrFlightDetails);exit;
$JourneyType = $arrFlightDetails['JourneyType'];
$ArrivalTime = (array) $arrFlightDetails['ArrivalTime'];
$arrArrivalTime = explode(" ", $ArrivalTime['date']);
$ArrivalTime = $arrArrivalTime[0];
$DepartureTime = (array) $arrFlightDetails['DepartureTime'];
$arrDepartureTime = explode(" ", $DepartureTime['date']);
$DepartureTime = $arrDepartureTime[0];
$FlightNumberDB = trim($arrFlightDetails['FlightNumber']);
$OfferedFareDB = round($arrFlightDetails['PublishedFare']);
if (!empty($ReturnAirInvenSysId)) {
$arrReturnFlightDetails = $objFlight->getFlightDetailsByTBQAirInvenSysId($ReturnAirInvenSysId, $IsInterNational);
$ReturnFlightNumberDB = trim($arrReturnFlightDetails['FlightNumber']);
$ReturnOfferedFareDB = round($arrReturnFlightDetails['PublishedFare']);
} else {
$ReturnFlightNumberDB = "";
$ReturnOfferedFareDB = 0;
}
$arrData = array(
'JourneyType' => trim($JourneyType),
'Origin' => trim($arrFlightDetails['OriginAirportCode']),
'Destination' => trim($arrFlightDetails['DestinationAirportCode']),
'PreferredDepartureTime' => trim($ArrivalTime),
'PreferredReturnDate' => trim($returndate),
"AdultCount" => $intAdultCount,
"ChildCount" => $intChildCount,
"InfantCount" => $intInfantCount,
"PreferredAirlines" => trim($arrFlightDetails['AirlineCode']),
"PreferredAirlinesReturn" => trim($arrReturnFlightDetails['AirlineCode']),
"Sources" => trim($arrFlightDetails['AirlineCode']),
"IsInterNational" => $IsInterNational,
"IsLCC" => trim($arrFlightDetails['IsLCC']),
"IsLCCReturn" => trim($arrReturnFlightDetails['IsLCC'])
);
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->searchApiProposalFlights($arrData);
if (isset($response['ResponseStatus']) && $response['ResponseStatus'] == 1) {
if (!empty($response['FlightResults']) ) {
$TraceId = $response['TraceId'];
$flightFound = false;
$flightFoundReturn = false;
$arrNew = array_merge($response['FlightResults'], $response['FlightResultsInBound']);
$FareQuoteComputed = false;
$FareQuoteComputedReturn = false;
foreach ($arrNew as $result) {
//echo $result['ResultIndex']."<br/>";
$OfferedFare = round($result['Fare']['OfferedFare']);
$CommissionEarned = $result['Fare']['CommissionEarned'];
$AirlineCode = $result['Segments'][0][0]['Airline']['AirlineCode'];
$FlightNumber = $result['Segments'][0][0]['Airline']['FlightNumber'];
$FlightNumberAPI = $AirlineCode . "-" . $FlightNumber;
if (($FlightNumberAPI === $FlightNumberDB) && ($OfferedFareDB == $OfferedFare) && !$FareQuoteComputed) {
$flightFound = true;
$arrData = array(
"apiTraceId" => $TraceId,
"ApiResultIndex" => $result['ResultIndex'],
"AirInvenSysId" => $AirInvenSysId,
"AgencySysId" => $AgencySysId
);
$arrResultIndex[] = $result['ResultIndex'];
$sessionFlightProposalParams->params['ResultIndex'] = $arrResultIndex;
$sessionFlightProposalParams->params['TraceId'] = $TraceId;
$responseFareQuote = $this->proposalFareQuoteDetailsAction($arrData);
//echo "<pre>";print_r($responseFareQuote);echo "</pre>";
$NewFateData = array(
"Cost" => $responseFareQuote['intOfferedFare'],
"TotalCost" => ($responseFareQuote['UpdatedFare'] + $AgentExtraMarkUP)
);
$objFlight->updateBookingDetailsByInvnItemSysId($NewFateData, $arrData['AirInvenSysId']);
$FareQuoteErrorCode = $responseFareQuote['ErrorCode'];
$FareQuoteErrorMessage = $responseFareQuote['ErrorMessage'];
if (empty($FareQuoteErrorCode)) {
$arrIsPriceChanged[] = $responseFareQuote['arrIsPriceChanged'];
$UpdatedFare[] = ($responseFareQuote['UpdatedFare'] + $AgentExtraMarkUP);
$OfferedFareNew[] = $responseFareQuote['intOfferedFare'];
$FareQuoteComputed = $responseFareQuote['FareQuoteComputed'];
} else {
$response = array('success' => false, 'msg' => 'Oops! Error, please choose another departure flight. ' . $FareQuoteErrorMessage);
echo json_encode($response);
exit;
}
}
//continue;
//$flightFound = false;
if (($FlightNumberAPI === $ReturnFlightNumberDB) && ($ReturnOfferedFareDB == $OfferedFare) && !$FareQuoteComputedReturn) {
//echo $result['ResultIndex']; exit;
$flightFoundReturn = true;
$arrData = array(
"apiTraceId" => $TraceId,
"ApiResultIndex" => $result['ResultIndex'],
"AirInvenSysId" => $ReturnAirInvenSysId,
"AgencySysId" => $AgencySysId
);
$arrResultIndex[] = $result['ResultIndex'];
$sessionFlightProposalParams->params['ResultIndex'] = $arrResultIndex;
$sessionFlightProposalParams->params['TraceId'] = $TraceId;
$responseFareQuote = $this->proposalFareQuoteDetailsAction($arrData);
//echo "<pre>";print_r($arrData);
//echo "<pre>";print_r($responseFareQuote);
$NewFateData = array(
"Cost" => $responseFareQuote['intOfferedFare'],
"TotalCost" => ($responseFareQuote['UpdatedFare'] + $ReturnAgentExtraMarkUP)
);
$objFlight->updateBookingDetailsByInvnItemSysId($NewFateData, $arrData['AirInvenSysId']);
$FareQuoteErrorCode = $responseFareQuote['ErrorCode'];
$FareQuoteErrorMessage = $responseFareQuote['ErrorMessage'];
if (empty($FareQuoteErrorCode)) {
$arrIsPriceChanged[] = $responseFareQuote['arrIsPriceChanged'];
$UpdatedFare[] = ($responseFareQuote['UpdatedFare'] + $ReturnAgentExtraMarkUP);
$OfferedFareNew[] = $responseFareQuote['intOfferedFare'];
$FareQuoteComputedReturn = $responseFareQuote['FareQuoteComputed'];
} else {
$response = array('success' => false, 'msg' => 'Oops! Error, please choose another return flight. ' . $FareQuoteErrorMessage);
echo json_encode($response);
exit;
}
}
}
//die('ddd');
// if flight not found in response...
if (!$flightFound) {
$response = array('success' => false, 'msg' => "Oops! The depature flight you are looking is no longer available,Please choose another flight or please contact administrator for more details.");
echo json_encode($response);
exit;
}
if (!$flightFoundReturn) {
$response = array('success' => false, 'msg' => "Oops! The return flight you are looking is no longer available,Please choose another flight or please contact administrator for more details.");
echo json_encode($response);
exit;
}
} else {
//Error
$ErrorMessage = $response['ErrorMessage'];
if (!empty($ErrorMessage)) {
$response = array('success' => false, 'msg' => $ErrorMessage);
echo json_encode($response);
exit;
}
}
} else {
//Error
$ErrorMessage = $response['ErrorMessage'];
if (!empty($ErrorMessage)) {
$response = array('success' => false, 'msg' => $ErrorMessage);
echo json_encode($response);
exit;
}
}
//}// Foreach Ends..
//echo "<pre>";print_r($UpdatedFare);
//echo "<pre>";print_r($arrIsPriceChanged);exit;
//$arrIsPriceChangedint_r($arrResultIndex);exit;
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => trim($this->getRequest()->getParam('AirInvenSysId')),
"ReturnAirInvenSysId" => trim($this->getRequest()->getParam('ReturnAirInvenSysId')),
"arrIntTpAirId" => $arrIntTpAirId
);
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($urlData);
$response = array('success' => true, 'msg' => '', 'arrIsPriceChanged' => $arrIsPriceChanged, 'UpdatedFare' => $UpdatedFare, 'urlData' => $strUrlData);
//echo "<pre>";print_r($response);exit;
echo json_encode($response);
exit;
} else {
//Error
$response = array('success' => false, 'msg' => "Oops! There might be some technical error.Please contact administrator for more details.");
echo json_encode($response);
exit;
}
}
exit;
}
public function getFlightItineraryAction()
{
if ($this->_request->isXmlHttpRequest()) {
/* Disable Layout */
$this->_helper->layout->disableLayout();
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
if (!empty($AirInvenSysId)) {
$objFlight = new Travel_Model_TblFlight();
$arrFlightItenairy = $objFlight->getFlightItinerary($AirInvenSysId, $IsInterNational);
$this->view->arrFlightItenairy = $arrFlightItenairy;
$this->render('get-flight-itinerary');
}
}
}
public function getFlightFareRuleAction()
{
if ($this->_request->isXmlHttpRequest()) {
/* Disable Layout */
$this->_helper->layout->disableLayout();
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
if (!empty($AirInvenSysId)) {
$objFlight = new Travel_Model_TblFlight();
$arrFlightFareRule = $objFlight->getFlightFareRuleInformation($AirInvenSysId);
//echo "<pre>"; print_r($arrFlightFareRule); exit;
$this->view->arrFlightFareRule = $arrFlightFareRule;
$objCity = new Travel_Model_TblCity();
$SourcePlaceSysId = $arrFlightFareRule[0]['SourcePlaceSysId'];
if (!empty($SourcePlaceSysId)) {
$this->view->strSourceCity = $strSourceCity = $objCity->getCityNameById($SourcePlaceSysId);
}
$DestPlaceSysId = $arrFlightFareRule[0]['DestPlaceSysId'];
if (!empty($DestPlaceSysId)) {
$this->view->strDestinationCity = $strDestinationCity = $objCity->getCityNameById($DestPlaceSysId);
}
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $AirInvenSysId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
//echo "<pre>";print_r($arrSelectedFlightDetails);exit;
if (!empty($arrSelectedFlightDetails) ) {
$TraceId = trim($arrSelectedFlightDetails[0]['apiTraceId']);
$ResultIndex = trim($arrSelectedFlightDetails[0]['ApiResultIndex']);
$data = array(
"TraceId" => $TraceId,
"ResultIndex" => $ResultIndex
);
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->fareRuleDetails($data);
if (isset($response['Response']['Error']['ErrorCode']) && $response['Response']['Error']['ErrorCode'] == '0') {
$this->view->FareRuleDetail = isset($response['Response']['FareRules'][0]['FareRuleDetail']) ? $response['Response']['FareRules'][0]['FareRuleDetail'] : '';
}
//echo "<pre>";print_r($response);exit;
}
}
$this->render('get-flight-fare-rule');
}
}
public function getFlightBaggageInformationAction()
{
if ($this->_request->isXmlHttpRequest()) {
/* Disable Layout */
$this->_helper->layout->disableLayout();
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
if (!empty($AirInvenSysId)) {
$objFlight = new Travel_Model_TblFlight();
$arrFlightBaggage = $objFlight->getFlightBaggageInformation($AirInvenSysId, $IsInterNational);
$this->view->arrFlightBaggage = $arrFlightBaggage;
}
$this->render('get-flight-baggage-information');
}
}
public function validatePaymentAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->paymentMdl = new Payment_Model_Payment();
$AgencySysId = $this->getRequest()->getParam('AgencySysId');
$intPublishFare = $this->getRequest()->getParam('intPublishFare');
$wallet = $this->paymentMdl->getDetailsByUniqueId("TB_Agency_Wallet", "AgencySysId", $AgencySysId);
$post = $this->getRequest()->getPost();
$crmcustomerObj = new Travel_Model_CRM_Customer();
// $arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
// $IsCheckWallet = isset($arrAgencyDetail['IsCheckWallet']) ? $arrAgencyDetail['IsCheckWallet'] : 0;
// echo '<pre>';
// print_r($IsCheckWallet);
// print_r($post);
// die;
$response = array('success' => true, 'message' => '');
echo json_encode($response);
exit;
if ($wallet['BalanceAmount'] >= $intPublishFare) {
$response = array('success' => true, 'message' => '');
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'message' => 'Unable to continue payment! please contact agency with this message');
echo json_encode($response);
exit;
}
echo '<pre>';
print_r($wallet['BalanceAmount']);
echo $intPublishFare = $this->getRequest()->getParam('intPublishFare');
die;
}
}
public function reviewProposalBookingAction()
{
$strUrlData = $this->view->strUrlData = $this->getRequest()->getParam('data');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
//echo '<pre>';print_r($arrUrlData);
$this->view->MasterTPSysId = $MasterTPSysId = trim($arrUrlData['MasterTPSysId']);
$this->view->TPSysId = $TPSysId = trim($arrUrlData['TPSysId']);
$arrIntTpAirId = isset($arrUrlData['arrIntTpAirId']) ? $arrUrlData['arrIntTpAirId'] : '';
$AirInvenSysId = trim($arrUrlData['AirInvenSysId']);
$intCustomerSysId = !empty($arrUrlData['CustomerSysId']) ? $arrUrlData['CustomerSysId'] : 0;
$this->view->ReturnAirInvenSysId = $ReturnAirInvenSysId = isset($arrUrlData['ReturnAirInvenSysId']) ? trim($arrUrlData['ReturnAirInvenSysId']) : 0;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrProposalDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
$this->view->arrProposalDetails = $arrProposalDetails;
$arrPriceDetails = [];
if (!empty($arrProposalDetails) ) {
foreach ($arrProposalDetails as $pDetails) {
$InvnItemSysId = trim($pDetails['InvnItemSysId']);
$extraMarkUp = trim($pDetails['MarkUp']);
$extraMarkUpTaxAmount = trim($pDetails['AgentsCustomServiceTaxAmount']);
$arrPriceDetails[$InvnItemSysId] = [
"extraMarkUp" => $extraMarkUp,
"extraMarkUpTaxAmount" => $extraMarkUpTaxAmount
];
}
}
/* Selected Flight Fare Details */
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
if (!empty($ReturnAirInvenSysId)) {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
if (!empty($arrIntTpAirId)) {
$objFlight->strConditionNewVersionId = " VersionId IN ('" . implode(',', $arrIntTpAirId) . "') ";
}
} else {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "') ";
if (!empty($arrIntTpAirId)) {
$objFlight->strConditionNewVersionId = " VersionId IN ('" . implode(',', $arrIntTpAirId) . "') ";
}
}
if (!empty($arrIntTpAirId) && isset($arrIntTpAirId[0]) && isset($arrIntTpAirId[1])) {
$objFlight->strConditionNewVersionId = " VersionId IN ('" . $arrIntTpAirId[0] . "','" . $arrIntTpAirId[1] . "') ";
}
$getSlectedFlightBookFareDetails = $objFlight->getSlectedFlightBookFareDetails();
$this->view->getSlectedFlightBookFareDetails = $getSlectedFlightBookFareDetails;
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
$this->view->arrSelectedFlightFareDetails = $arrSelectedFlightFareDetails;
// echo '<pre>';print_r($arrSelectedFlightFareDetails);echo '</pre>';
if (!empty($getSlectedFlightBookFareDetails) ) {
$intPublishFareNew = 0;
foreach ($getSlectedFlightBookFareDetails as $Val) {
$intPublishFareNew += !empty($Val['TotalCost']) ? $Val['TotalCost'] : '0';
}
}
if (!empty($arrSelectedFlightFareDetails) ) {
$intPublishFare = 0;
$intOfferedFareForStringData = 0;
$intGTXMarkUpForStringData = 0;
$intTotalEarningsForAgencyForStringData = 0;
$intSTaxOnAgencyFixMarkUpForStringData = 0;
foreach ($arrSelectedFlightFareDetails as $fareVal) {
$OfferedFare = $fareVal['OfferedFare'];
$CommissionEarned = $fareVal['CommissionEarned'];
$PLBEarned = $fareVal['PLBEarned'];
$IncentiveEarned = $fareVal['IncentiveEarned'];
$Currency = $fareVal['Currency'];
$TBQAirInvenAPISysId = trim($fareVal['TBQAirInvenAPISysId']);
$AgentsCustomMarkUp = isset($arrPriceDetails[$TBQAirInvenAPISysId]['extraMarkUp']) ? $arrPriceDetails[$TBQAirInvenAPISysId]['extraMarkUp'] : 0;
$AgentsCustomServiceTaxAmount = isset($arrPriceDetails[$TBQAirInvenAPISysId]['extraMarkUpTaxAmount']) ? $arrPriceDetails[$TBQAirInvenAPISysId]['extraMarkUpTaxAmount'] : 0;
$arrAllCommissions = array(
'intCommissionEarned' => $CommissionEarned,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned
);
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$intTatalPaxCTForMarkUp = $intAdultCount + $intChildCount + $intInfantCount;
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
if ($IsInterNational) {
$intCountryCode = "INTERNATIONAL";
} else {
$intCountryCode = "IN";
}
$arrPriceAndMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getApiPriceWithMarkupAndServiceTax($arrAllCommissions, $OfferedFare, $intCountryCode, $AgencySysId);
$intOfferedFare = $arrPriceAndMarkUps['intOfferedFare'];
$intGTXMarkUp = ($arrPriceAndMarkUps['intGTXMarkUp'] * $intTatalPaxCTForMarkUp);
$intSTaxOnGTXMarkUp = ($arrPriceAndMarkUps['intSTaxOnGTXMarkUp'] * $intTatalPaxCTForMarkUp);
$intAgencyFixMarkUp = ($arrPriceAndMarkUps['intAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp);
$intSTaxOnAgencyFixMarkUp = ($arrPriceAndMarkUps['intSTaxOnAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp);
$intOfferedFareForStringData += $arrPriceAndMarkUps['intOfferedFare'];
$intGTXMarkUpForStringData += ($arrPriceAndMarkUps['intGTXMarkUp'] * $intTatalPaxCTForMarkUp);
$intSTaxOnAgencyFixMarkUpForStringData += ($arrPriceAndMarkUps['intSTaxOnAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp);
$intCommisionEarnedForAgency = $arrPriceAndMarkUps['intCommisionEarnedForAgency'];
$intPLBEarnedForAgency = $arrPriceAndMarkUps['intPLBEarnedForAgency'];
$intIncentiveEarnedForAgency = $arrPriceAndMarkUps['intIncentiveEarnedForAgency'];
$intTotalEarningsForAgency = $intCommisionEarnedForAgency + $intPLBEarnedForAgency + $intIncentiveEarnedForAgency + $intAgencyFixMarkUp;
$intTotalEarningsForAgencyForStringData += $intTotalEarningsForAgency;
$intGSTOnAgencyCommisionEarned = $arrPriceAndMarkUps['intGSTOnAgencyCommisionEarned'];
$intGSTOnAgencyPLBEarned = $arrPriceAndMarkUps['intGSTOnAgencyPLBEarned'];
$intGSTOnAgencyIncentiveEarned = $arrPriceAndMarkUps['intGSTOnAgencyIncentiveEarned'];
$intTotalGSTAgencyEarnings = $intSTaxOnAgencyFixMarkUp + $intGSTOnAgencyCommisionEarned + $intGSTOnAgencyPLBEarned + $intGSTOnAgencyIncentiveEarned;
$intPublishFare += $intOfferedFare + $intGTXMarkUp + $intTotalEarningsForAgency + $intTotalGSTAgencyEarnings + $AgentsCustomMarkUp + $AgentsCustomServiceTaxAmount;
//$intPublishFare += $intOfferedFare + $intGTXMarkUp + $intTotalEarningsForAgencyForStringData + $intTotalGSTAgencyEarnings + $AgentsCustomMarkUp + $AgentsCustomServiceTaxAmount;
}
}
//echo $intPublishFare;
/* Selected Flight Fare Details Ends */
/* Selected Flight Details */
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
$this->view->arrSelectedFlightDetails = $arrSelectedFlightDetails;
/* Selected Flight Details */
/* Proposal Customer Related Details */
$ARR_SALUTION = unserialize(ARR_SALUTION);
$ARR_CUSTOMER_RELATION = unserialize(ARR_CUSTOMER_RELATION);
$this->view->ARR_CUSTOMER_RELATION = $ARR_CUSTOMER_RELATION;
$this->view->ARR_SALUTION = $ARR_SALUTION;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$this->view->CustomerSysId = $CustomerSysId = $sessionFlightProposalParams->params['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $TPSysId);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
if (isset($intCustomerSysId) && !empty($intCustomerSysId) && $intCustomerSysId > 0) {
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$getcustomerDetail = $this->_crmcusttravelplan->GetTravelPlanDetailsofCustomer($MasterTPSysId);
$customerDetsils = $this->_crmcustomerObj->GetAgencyCustomerById($intCustomerSysId);
$this->view->customerDetsils = $customerDetsils;
$this->view->getcustomerDetail = $getcustomerDetail;
}
}
//echo $TPSysId.'='.$intCustomerSysId;
//echo "<pre>";print_r($arrTrevllerDetails);echo "</pre>";
/* Proposal Customer Related Details Ends */
if (!empty($MasterTPSysId)) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
//echo "<pre>";print_r($arrFlightDetails);
$this->view->arrAirDetails = $arrFlightDetails;
$SourceAirportCode = trim($arrFlightDetails[0]['SourceAirportCode']);
if (!empty($SourceAirportCode)) {
$arrSourceAirport = $objFlightProposal->getAirPortByAirportCode($SourceAirportCode);
}
$this->view->SourceAirport = isset($arrSourceAirport['label']) ? $arrSourceAirport['label'] : '';
$DestAirportCode = trim($arrFlightDetails[0]['DestAirportCode']);
if (!empty($DestAirportCode)) {
$arrDestinationAirport = $objFlightProposal->getAirPortByAirportCode($DestAirportCode);
}
$this->view->DestinationAirport = isset($arrDestinationAirport['label']) ? $arrDestinationAirport['label'] : '';
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($TPSysId);
$this->view->arrAgencyDetails = $arrAgencyDetails;
// $Cost = 0;
// $TotalCost = 0;
// $CurrencyType = 0;
// $Discount = 0;
// $XServiceTaxAmount = 0;
// $GTXServiceTaxAmount = 0;
// $AgentServiceTaxAmount = 0;
// $AgentsCustomServiceTaxAmount = 0;
// $MarkUp = 0;
// $AgencyMarkUp = 0;
// $GTXMarkup = 0;
// $Taxes = 0;
//
// foreach ($arrFlightDetails as $costBreakDown){
// $Cost += trim($costBreakDown['Cost']);
// $TotalCost += trim($costBreakDown['TotalCost']);
// $CurrencyType += trim($costBreakDown['CurrencyType']);
// $Discount += trim($costBreakDown['Discount']);
// $XServiceTaxAmount += trim($costBreakDown['XServiceTaxAmount']);
// $GTXServiceTaxAmount += trim($costBreakDown['GTXServiceTaxAmount']);
// $AgentServiceTaxAmount += trim($costBreakDown['AgentServiceTaxAmount']);
// $AgentsCustomServiceTaxAmount += trim($costBreakDown['AgentsCustomServiceTaxAmount']);
// $MarkUp += trim($costBreakDown['MarkUp']);
// $AgencyMarkUp += trim($costBreakDown['AgencyMarkUp']);
// $GTXMarkup += trim($costBreakDown['GTXMarkup']);
// $Taxes += trim($costBreakDown['Taxes']);
// }
$arrPriceAndMarkups = array(
"intAgentMarkUpAmount" => 0,
"intAgencyMarkUpAmount" => ($intTotalEarningsForAgencyForStringData - $intSTaxOnAgencyFixMarkUpForStringData) + $AgentsCustomMarkUp,
"intGTXMarkUpAmount" => $intGTXMarkUpForStringData,
"intTotalAmount" => $intOfferedFareForStringData,
"intTax" => 0,
"GTXServiceTaxAmount" => 0,
"AgentServiceTaxAmount" => $intSTaxOnAgencyFixMarkUpForStringData + $AgentsCustomServiceTaxAmount,
"AgentsCustomServiceTaxAmount" => "0",
"Pax" => $intTatalPaxCTForMarkUp,
"SupplierSourceStr" => "API",
"MarketPlaceId" => "1",
"TotalDiscount" => 0,
"CurrencyType" => 1
);
//echo "<pre>";print_r($arrPriceAndMarkups);
$strPriceAndMarkups = json_encode($arrPriceAndMarkups);
$this->view->stringData = $strStringData = $this->getEnc($strPriceAndMarkups);
}
$objAgency = new Travel_Model_TblAgency();
$objPkg = new Travel_Model_TblPackage();
//echo $intPublishFare;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$AgencyBaseCurrency = $arrAgencyDetails['TrxCurrency'];
$packageSharedCurrency = isset($arrSelectedFlightFareDetails[0]['Currency']) ? $arrSelectedFlightFareDetails[0]['Currency'] : '1';
$exchangerate = $objPkg->currencyExchangeRate($packageSharedCurrency, $AgencyBaseCurrency);
$intPublishFareNew = $packageBaseCurrencyNetPrice = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->convertRatetoBaseCurrency($intPublishFareNew, $exchangerate);
//$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl()."payment/payment-options/customer-pay";
// $this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl()."payment/atom-payment/customer-payment";
//echo "<pre>";print_r($arrAgencyDetails);die;
$IsPaymentGateway = !empty($arrAgencyDetails['IsPaymentGateway']) ? $arrAgencyDetails['IsPaymentGateway'] : 0;
if (!empty($IsPaymentGateway)) {
$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl() . "payment/payment-options/customer-pay-by-agency";
} else {
$this->view->strPayWithPaymentGatewayUrl = Catabatic_Helper::getSiteUrl() . "payment/payment-options/customer-pay";
}
$this->view->intPlanType = "1";
$this->view->strTrxType = "A";
$this->view->strReturnURL = "/flight-proposal/book-proposal-flight/data/" . $strUrlData;
$this->view->strErrorURL = "/flight-proposal/review-proposal-booking/data/" . $strUrlData;
$this->view->intLoggedinAgencySysId = $AgencySysId;
$this->view->IsCardChrgToCustomer = 1;
$this->view->intLoggedinUserAgencySysId = $AgencySysId;
$this->view->intPublishFare = ceil($intPublishFareNew);
$this->view->intPublishFareNew = $intPublishFareNew;
$this->view->Symbol = !empty($arrAgencyDetails['Symbol']) ? $arrAgencyDetails['Symbol'] : '';
$this->view->guid = $this->GUID();
$this->view->walletCode = $this->walletCode($AgencySysId, $this->view->guid, ceil($intPublishFareNew), $AgencySysId, $TPSysId, $CustomerSysId, $strStringData);
$this->view->securecode = $this->secureCode($AgencySysId, $this->view->guid);
}
public function bookProposalFlightAction()
{
// echo "<pre>";
// print_r($_REQUEST); //exit;
// echo "</pre>";
// exit;
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$strTrxStatus = !empty($this->getRequest()->getParam('trxstatus')) ? $this->getRequest()->getParam('trxstatus') : '';
$TrxSysId = $this->getRequest()->getParam('TrxSysId');
$TPSysId = $this->getRequest()->getParam('TPSysId');
$guid = $this->getRequest()->getParam('guid');
// echo "<pre>";
// print_r($_REQUEST); //exit;
// echo "</pre>";
// exit;
$objFlight = new Travel_Model_TblFlight();
if ($strTrxStatus == "success") {
$strUrlData = $this->getRequest()->getParam('strUrlData');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
//echo "<pre>";print_r($arrUrlData);die;
$intOutBoundId = !empty($arrUrlData['AirInvenSysId']) ? $arrUrlData['AirInvenSysId'] : 0;
$intInBoundId = !empty($arrUrlData['ReturnAirInvenSysId']) ? $arrUrlData['ReturnAirInvenSysId'] : 0;
$intCustomerSysId = !empty($arrUrlData['CustomerSysId']) ? $arrUrlData['CustomerSysId'] : 0;
$intTPSysId = !empty($arrUrlData['TPSysId']) ? $arrUrlData['TPSysId'] : 0;
$MasterTPSysId = !empty($arrUrlData['MasterTPSysId']) ? $arrUrlData['MasterTPSysId'] : 0;
$arrIntTpAirId = !empty($arrUrlData['arrIntTpAirId']) ? $arrUrlData['arrIntTpAirId'] : 0;
// Getting travel plan details...
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
// Getting travel plan details Ends...
$AgencySysId = !empty($travelPlanDetais[0]['AgencySysId']) ? $travelPlanDetais[0]['AgencySysId'] : 0;
$AgentSysId = !empty($travelPlanDetais[0]['AgentSysId']) ? $travelPlanDetais[0]['AgentSysId'] : 0;
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$LoggedinUserEmailId = $arrAgencyDetail['PrimaryEmail'];
$objFlight = new Travel_Model_TblFlight();
$this->paymentMdl = new Payment_Model_Payment();
$GetBookingAmountData = $objFlight->GetBookingAmountData($AgencySysId, $arrIntTpAirId);
$wallet = $this->paymentMdl->getDetailsByUniqueId("TB_Agency_Wallet", "AgencySysId", $AgencySysId);
if ($wallet['BalanceAmount'] >= $GetBookingAmountData['TotalCost']) {
} else {
die('Unable to continue payment! please contact agency with this message');
}
//Invoice Number...
$objTrx = new Travel_Model_TblAgencyCustomerTrx();
// $strInvoiceNumber = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->generateInvoiceNumbers($AgencySysId);
// $data = array("InvoiceId" => $strInvoiceNumber);
// $objTrx->updateInvoiceNumber($data, $TrxSysId);
//Invoice Number...
/* deduct From wallet */
$modelFlight = new Api_Model_TblFlight();
// $this->paymentMdl = new Payment_Model_Payment();
// $wallet = $this->paymentMdl->getDetailsByUniqueId("TB_Agency_Wallet", "AgencySysId", $AgencySysId);
$walletReflect = $modelFlight->checkTranHistory($guid, $TrxSysId, $AgencySysId);
if ($walletReflect == TRUE) {
if (!empty($intOutBoundId) && empty($intInBoundId)) { // For OneWay Flight Only...
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $intOutBoundId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
if (!empty($arrSelectedFlightDetails)) {
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $intOutBoundId . "') ";
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
if (isset($arrSelectedFlightDetails[0]['IsQuickProposal']) && $arrSelectedFlightDetails[0]['IsQuickProposal'] == 1) {
//echo'<pre>';print_r($arrSelectedFlightDetails);
//echo'<pre>';print_r($arrTrevllerDetails);die('dd');
$arrFlightSearchResponse = [];
$arrFlightSearchResponse['Response'] = array(
'Error' => array(
'ErrorCode' => 0, 'ErrorMessage' => ''
),
'ResponseStatus' => 1,
'TraceId' => '',
'Response' => array(
'PNR' => '',
'BookingId' => date('ymdhis'),
'Status' => 1,
'FlightItinerary' => array(
'TripIndicator' => 1,
'BookingId' => '',
'PNR' => '',
'Status' => 1,
'IsDomestic' => $arrSelectedFlightDetails[0]['IsInternational'],
'Source' => 6,
'Origin' => $arrSelectedFlightDetails[0]['SourceAirportCode'],
'Destination' => $arrSelectedFlightDetails[0]['DestAirportCode'],
'AirlineCode' => $arrSelectedFlightDetails[0]['AirlineCode'],
'NonRefundable' => $arrSelectedFlightDetails[0]['PublishedFare'],
'Fare' => array(
'Currency' => 'INR',
'BaseFare' => $arrSelectedFlightDetails[0]['PublishedFare'],
'Tax' => '',
'OtherCharges' => $arrSelectedFlightDetails[0]['ServiceFee'],
'PublishedFare' => $arrSelectedFlightDetails[0]['PublishedFare'],
'CommissionEarned' => '10',
'OfferedFare' => $arrSelectedFlightDetails[0]['OfferedFare'],
)
)
)
);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $MasterTPSysId);
$objFlightProposal = new Travel_Model_TblFlightProposal();
$VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => date('ymdhis'),
"APIBookingRes" => json_encode($arrFlightSearchResponse),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $VersionId);
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['arrBookingResponse'] = json_encode($arrFlightSearchResponse);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['IsQuickProposal'] = $arrSelectedFlightDetails[0]['IsQuickProposal'];
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
$data = array();
$arrBookingId = array();
$arrBookingResponse = array();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$TraceId = $sessionFlightProposalParams->params['TraceId'];
$ResultIndex = $sessionFlightProposalParams->params['ResultIndex'];
$SourceAirportCode = trim($arrSelectedFlightDetails[0]['SourceAirportCode']);
$DestAirportCode = trim($arrSelectedFlightDetails[0]['DestAirportCode']);
$IsLCC = trim($arrSelectedFlightDetails[0]['IsLCC']);
$JourneyType = trim($arrSelectedFlightDetails[0]['JourneyType']);
$TripType = trim($arrSelectedFlightDetails[0]['TripType']);
$IsInternational = trim($arrSelectedFlightDetails[0]['IsInternational']);
$IsGSTMandatory = isset($arrSelectedFlightDetails[0]['IsGSTMandatory']) ? trim($arrSelectedFlightDetails[0]['IsGSTMandatory']) : '0';
$crmcustomerObj = new Travel_Model_CRM_Customer();
$getAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$data = array(
"TraceId" => $TraceId,
"ResultIndex" => $ResultIndex,
"Origin" => $SourceAirportCode,
"Destination" => $DestAirportCode,
"JourneyType" => $JourneyType,
"TripType" => $TripType,
"IsLCC" => $IsLCC,
"arrFairDetails" => $arrSelectedFlightFareDetails,
"arrTrevllerDetails" => $arrTrevllerDetails,
"agencyEmailId" => $LoggedinUserEmailId,
"IsInternational" => $IsInternational
);
if ($IsGSTMandatory == 1) {
$data['getAgencyDetail'] = $getAgencyDetail;
}
if ($IsLCC == '1') { //For LCC Flights Direct Ticket Method Called According to API...
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightTicket($data);
//echo "<pre>";print_r($response);die('lcc');
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingIdLCC = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNRLCC = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
//$arrBookingId[] = $strBookingId."/".$strTicketPNR;
if ($ErrorCode == 0) {
$arrBookingResponse[0]['ErrorCode'] = $ErrorCode;
$arrBookingResponse[0]['ErrorMessage'] = $ErrorMessage;
$arrBookingResponse[0]['BookingId'] = $strBookingIdLCC . "/" . $strTicketPNRLCC;
$arrBookingResponse[0]['BookingResponse'] = json_encode($response);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $MasterTPSysId); // FOR BOOKING CONFIRMED
} else {
//echo "<pre>";print_r($response);exit;
$arrBookingResponse[0]['ErrorCode'] = $ErrorCode;
$arrBookingResponse[0]['ErrorMessage'] = $ErrorMessage;
$arrBookingResponse[0]['BookingId'] = $strBookingIdLCC . "/" . $strTicketPNRLCC;
$arrBookingResponse[0]['BookingResponse'] = json_encode($response);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $MasterTPSysId); // FOR BOOKING Fail CAse
}
if ($ErrorCode == 0 && $ErrorMessage == "") {
// Booking details to transaction table...
$objFlightProposal = new Travel_Model_TblFlightProposal();
$VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => $strBookingIdLCC . "/" . $strTicketPNRLCC,
"APIBookingRes" => json_encode($response),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
} else {
// Booking details to transaction table...
$objFlightProposal = new Travel_Model_TblFlightProposal();
$VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => '',
"APIBookingRes" => json_encode($response),
"XRefPNR" => '',
"IsBookingStatus" => 0
);
}
$objFlight->updateBookingDetails($data, $VersionId); // FOR BOOKING CONFIRMED
// Booking details to transaction Ends...
if ($ErrorCode == 0) {
if (isset($arrTrevllerList) && !empty($arrTrevllerList)) {
$Passenger = $response['Response']['Response']['FlightItinerary']['Passenger'];
foreach ($arrTrevllerList as $key => $value) {
$Ticket = $Passenger[$key]['Ticket'];
$data = array(
"TicketId" => !empty($Ticket['TicketId']) ? $Ticket['TicketId'] : '0',
"TicketNumber" => $Ticket['TicketNumber'],
"TicketFullJson" => json_encode($Passenger[$key])
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
}
//echo "<pre>";print_r($arrBookingId);exit;
} else { //For Non LCC Flights Booking Method Called Then it the Ticket Method According to API...
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->apiFlightBooking($data);
// $objFlightProposal = new Travel_Model_TblFlightProposal();
// $VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId,$intOutBoundId);
// ECHO $intTPSysId;
// echo "<pre>";print_r($arrTrevllerList);
// echo "<pre>";print_r($response);exit;
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingId = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
if ($ErrorCode == 0) {
$arrBookingResponse[0]['ErrorCode'] = $ErrorCode;
$arrBookingResponse[0]['ErrorMessage'] = $ErrorMessage;
$arrBookingResponse[0]['BookingId'] = $strBookingId . "/" . $strTicketPNR;
$arrBookingResponse[0]['BookingResponse'] = json_encode($response);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $MasterTPSysId); // FOR BOOKING CONFIRMED
} else {
$arrBookingResponse[0]['ErrorCode'] = $ErrorCode;
$arrBookingResponse[0]['ErrorMessage'] = $ErrorMessage;
$arrBookingResponse[0]['BookingId'] = $strBookingId . "/" . $strTicketPNR;
$arrBookingResponse[0]['BookingResponse'] = json_encode($response);
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $MasterTPSysId); // FOR BOOKING Fail CAse
}
// Booking details to transaction table...
if ($ErrorCode == 0 && $ErrorMessage == "") {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => $strBookingId . "/" . $strTicketPNR,
"APIBookingRes" => json_encode($response),
"XRefPNR" => '',
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $VersionId); // FOR BOOKING CONFIRMED
// Booking details to transaction Ends...
} else {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => '',
"APIBookingRes" => json_encode($response),
"XRefPNR" => '',
"IsBookingStatus" => 0
);
$objFlight->updateBookingDetails($data, $VersionId); // FOR BOOKING CONFIRMED
}
}
if ($ErrorCode == 0 && $ErrorMessage == "") {
//Mail Booking Itenary To Customer
$objFlight = new Travel_Model_TblFlight();
$arrFlightFare = $objFlight->customerInvoiceData($intTPSysId);
if ($arrFlightFare && $IsLCC == '1') {
foreach ($arrFlightFare as $k => $values) {
$AgencySysId = $values['AgencySysId'];
$AgentSysId = $values['AgentSysId'];
$intLoggedinUserEmailId = $values['PrimaryEmail'];
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $values['AirVersionId']);
//echo '<pre>';print_r($arrCustomerInvoiceData);echo '</pre>';
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetailsNew = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
$html->assign('arrResponse', $response);
$html->assign('arrTrevllerDetails', $arrTrevllerDetailsNew);
$html->assign('arrtravellerList', $arrtravellerList);
$html->assign('arrCustomerInvoiceData', $arrCustomerInvoiceData);
$bodyText = $html->render('mail-booking-content-new.phtml');
$subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
$customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId']) ? $arrTrevllerDetails[0][0]['EmailId'] : '';
$emailData = array('fromEmail' => trim($intLoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $intLoggedinUserEmailId, "gaurav@hellogtx.com", "prashant@catpl.co.in"), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $intTPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$this->mailSentByElastice($emailData, $arrEmailStatistics);
} catch (Exception $err) {
print_r($err, true);
}
}
}
// $arrFlightFare = $objFlight->customerInvoiceData($intTPSysId, $AgencySysId);
//
// $objFlightProposal = new Travel_Model_TblFlightProposal();
// $arrProposalDetails = $objFlightProposal->getFlightProposalDetails("", $TPSysId);
//
// $html = new Zend_View();
// $html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight-proposal/');
// $html->assign('type', 'mailToCustomer');
// $html->assign('arrResponse', $response);
// $html->assign('arrAgencyDetail', $arrAgencyDetail);
// $html->assign('arrFlightFare', $arrFlightFare[0]);
// $html->assign('arrProposalDetails', $arrProposalDetails[0]);
// $bodyText = $html->render('mail-booking-content.phtml');
// $subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
// $customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId']) ? $arrTrevllerDetails[0][0]['EmailId'] : '';
// $emailData = array('fromEmail' => trim($LoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $LoggedinUserEmailId, "gaurav@hellogtx.com"), 'bodyHtml' => $bodyText, 'bodyText' => '');
// try {
// // Added By Pardeep Panchal For Email Count...
// $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
// $arrEmailStatistics = array(
// "TPSysId" => $intTPSysId,
// "TypeSysId" => 1, // 1 For Email 2 For SMS
// "AgencySysId" => $AgencySysId,
// "AgentSysId" => $AgentSysId,
// "Title" => $subject,
// "Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
// "Status" => 0,
// "RefSysId" => "",
// "RefSysStatus" => "",
// "CreateDate" => date('Y-m-d H:i:s')
// );
//
// // Added By Pardeep Panchal For Email Count Ends...
// $this->mailSentByElastice($emailData, $arrEmailStatistics, 1, $arrTrevllerDetails[0][0]['CustomerSysId']);
// } catch (Exception $err) {
// print_r($err, true);
// }
//Mail Booking Itenary To Customer
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
} else {
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
} else { // Flight details not found in DB then Process refund....
$arrError = [
"Response" => [
"Error" => [
"ErrorCode" => 2,
"ErrorMessage" => "Oops! There might be some technical error. Please contact administrator for more information."
]
]
];
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
} else if (!empty($intOutBoundId) && !empty($intInBoundId)) { // For RoundTrip Flights...
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($intTPSysId);
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $intOutBoundId . "','" . $intInBoundId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
$SourceAirportCode = trim($arrSelectedFlightDetails[0]['SourceAirportCode']);
$DestAirportCode = trim($arrSelectedFlightDetails[0]['DestAirportCode']);
$IsLCC = trim($arrSelectedFlightDetails[0]['IsLCC']);
if (isset($arrSelectedFlightDetails[0]['IsQuickProposal']) && $arrSelectedFlightDetails[0]['IsQuickProposal'] == 1) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$objFlightProposal->strCondition = " t3.InvnItemSysId IN ('" . $intOutBoundId . "','" . $intInBoundId . "') ";
$arrVersionId = $objFlightProposal->getVersionIdByTPSysIds($MasterTPSysId);
//echo $intTPSysId;
$arrFlightSearchResponseConfirm = [];
foreach ($arrVersionId as $k => $res) {
$TPintSysId = trim($res['VersionId']);
$arrFlightSearchResponse = [];
$arrFlightSearchResponseConfirm[]['Response'] = $arrFlightSearchResponse['Response'] = array(
'Error' => array(
'ErrorCode' => 0, 'ErrorMessage' => ''
),
'ResponseStatus' => 1,
'TraceId' => '',
'Response' => array(
'PNR' => '',
'BookingId' => date('ymdhis') . $k,
'Status' => 1,
'FlightItinerary' => array(
'TripIndicator' => 1,
'BookingId' => '',
'PNR' => '',
'Status' => 1,
'IsDomestic' => $arrSelectedFlightDetails[$k]['IsInternational'],
'Source' => 6,
'Origin' => $arrSelectedFlightDetails[$k]['SourceAirportCode'],
'Destination' => $arrSelectedFlightDetails[$k]['DestAirportCode'],
'AirlineCode' => $arrSelectedFlightDetails[$k]['AirlineCode'],
'NonRefundable' => $arrSelectedFlightDetails[$k]['PublishedFare'],
'Fare' => array(
'Currency' => 'INR',
'BaseFare' => $arrSelectedFlightDetails[$k]['PublishedFare'],
'Tax' => '',
'OtherCharges' => $arrSelectedFlightDetails[$k]['ServiceFee'],
'PublishedFare' => $arrSelectedFlightDetails[$k]['PublishedFare'],
'CommissionEarned' => '10',
'OfferedFare' => $arrSelectedFlightDetails[$k]['OfferedFare'],
)
)
)
);
$objFlight->updateBookingStatusTravelPlanOnly(array("StatusType" => '17'), $res['TPSysId'], $res['MasterTPSysId']); // FOR BOOKING CONFIRMED
// $objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $MasterTPSysId);
// $objFlightProposal = new Travel_Model_TblFlightProposal();
// $VersionId = $objFlightProposal->getVersionIdByTPSysId($intTPSysId, $intOutBoundId);
$data = array(
"XRefBookingId" => date('ymdhis') . $k,
"APIBookingRes" => json_encode($arrFlightSearchResponse),
"XRefPNR" => 1,
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $TPintSysId);
}
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['tripType'] = 2;
$arrData['arrBookingResponse'] = json_encode($arrFlightSearchResponseConfirm);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$arrData['IsQuickProposal'] = $arrSelectedFlightDetails[0]['IsQuickProposal'];
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
$responseMain = $this->bookRoundTripFlightsAction($LoggedinUserEmailId);
// $a = '{"Response":{"Error":{"ErrorCode":0,"ErrorMessage":""},"TraceId":"e32d48d1-7c1e-4b75-aebc-d2a74dea372f","ResponseStatus":1,"Response":{"PNR":"JWNW4Q","BookingId":1401138,"SSRDenied":false,"SSRMessage":null,"Status":1,"IsPriceChanged":false,"IsTimeChanged":false,"FlightItinerary":{"TripIndicator":2,"BookingAllowedForRoamer":true,"BookingId":1401138,"ParentBookingId":1401137,"IsManual":false,"PNR":"JWNW4Q","IsDomestic":true,"Source":4,"Origin":"GOI","Destination":"BOM","AirlineCode":"9W","LastTicketDate":"2018-10-10T00:00:00","ValidatingAirlineCode":"9W","AirlineRemark":"","IsLCC":false,"NonRefundable":true,"FareType":"RP","CreditNoteNo":null,"Fare":{"Currency":"INR","BaseFare":1890,"Tax":2564,"TaxBreakup":[],"YQTax":1200,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":278.48,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":278.48},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0,"PublishedFare":4732.48,"CommissionEarned":16.06,"PLBEarned":0,"IncentiveEarned":0.00,"OfferedFare":4716.42,"TdsOnCommission":4.82,"TdsOnPLB":0,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"CreditNoteCreatedOn":null,"Passenger":[{"PaxId":1979533,"Title":"Mr","FirstName":"Sabir","LastName":"Noor","PaxType":1,"DateOfBirth":"1990-10-07T00:00:00","Gender":1,"PassportNo":"","AddressLine1":"Nahi Bataiyenge","AddressLine2":"","Fare":{"Currency":"INR","BaseFare":945,"Tax":1282,"TaxBreakup":null,"YQTax":600,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":139.24,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":139.24},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0,"PublishedFare":2366.24,"CommissionEarned":8.03,"PLBEarned":0,"IncentiveEarned":0.00,"OfferedFare":2358.21,"TdsOnCommission":2.41,"TdsOnPLB":0,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"City":"Samastipur","CountryCode":"IN","CountryName":"India","Nationality":"IN","ContactNo":"9234674005","Email":"gaurav@hellogtx.com","IsLeadPax":true,"FFAirlineCode":null,"FFNumber":"","Meal":{"Code":"AVML","Description":"Asian - Vegetarian"},"Seat":{"Code":"A","Description":"Aisle"},"Ssr":[],"GSTCompanyAddress":"","GSTCompanyContactNumber":"","GSTCompanyEmail":"","GSTCompanyName":"","GSTNumber":""},{"PaxId":1979534,"Title":"Miss","FirstName":"Hiba","LastName":"Noor","PaxType":2,"DateOfBirth":"2007-02-23T00:00:00","Gender":2,"PassportNo":"","Fare":{"Currency":"INR","BaseFare":945,"Tax":1282,"TaxBreakup":null,"YQTax":600,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":139.24,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":139.24},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0,"PublishedFare":2366.24,"CommissionEarned":8.03,"PLBEarned":0,"IncentiveEarned":0.00,"OfferedFare":2358.21,"TdsOnCommission":2.41,"TdsOnPLB":0,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"CountryCode":"IN","CountryName":"India","Nationality":"IN","IsLeadPax":false,"FFAirlineCode":null,"FFNumber":"","Meal":{"Code":"AVML","Description":"Asian - Vegetarian"},"Seat":{"Code":"A","Description":"Aisle"},"Ssr":[],"GSTCompanyAddress":"","GSTCompanyContactNumber":"","GSTCompanyEmail":"","GSTCompanyName":"","GSTNumber":""}],"CancellationCharges":null,"Segments":[{"Baggage":null,"CabinBaggage":null,"TripIndicator":1,"SegmentIndicator":1,"Airline":{"AirlineCode":"9W","AirlineName":"Jet Airways","FlightNumber":"762","FareClass":"O","OperatingCarrier":"9W"},"AirlinePNR":"","Origin":{"Airport":{"AirportCode":"GOI","AirportName":"Dabolim","Terminal":"","CityCode":"GOI","CityName":"Goa","CountryCode":"IN","CountryName":"India"},"DepTime":"2018-10-27T04:05:00"},"Destination":{"Airport":{"AirportCode":"BOM","AirportName":"Mumbai","Terminal":"2","CityCode":"BOM","CityName":"Mumbai","CountryCode":"IN","CountryName":"India"},"ArrTime":"2018-10-27T05:20:00"},"AccumulatedDuration":75,"Duration":75,"GroundTime":0,"Mile":0,"StopOver":false,"StopPoint":"","StopPointArrivalTime":"2018-10-27T05:20:00","StopPointDepartureTime":"2018-10-27T04:05:00","Craft":"738","Remark":"010 EY 8888, 010 MH 4111 PG 4442, SEE RTSVC","IsETicketEligible":false,"FlightStatus":"Confirmed","Status":"HK"}],"FareRules":[{"Origin":"GOI","Destination":"BOM","Airline":"9W","FareBasisCode":"O2IPOC","FareRuleDetail":"<b>These Are Non Refundable Fares.<\/b><\/br><ul><li><b>There is no Minimum Stay requirement<\/b><br><li><b>There is no Maximum Stay requirement<\/b><br><fieldset><legend><b><b>Child<\/b><br><\/b><\/legend><ul><li><b>Revalidation\/Reissue<\/b><br>Fare Component <b>O2IPOC<\/b>  Sector <b>GOI-BOM<\/b> <ul><li>Revalidation before\/after departure, including failure to show at first\/subsequent flight(s) : <b>Not Allowed<\/b><\/li><li>Reissue, including failure to show at first flight : <b>Allowed with Restrictions<\/b><\/li><li>Revalidation\/Reissue request, including failure to show at first flight, must be made prior to <b>10OCT19 0000<\/b><\/li><li><b>Prior to Departure of journey<\/b><ul><u>Reissue<\/u><li>Penalty fee : <b>3900 INR(at today exchange rates 3900 INR) <\/b><\/li><li>Maximum reissue penalty fee for entire ticket (per reissue) : <b>3900 INR<\/b><\/li><\/ul><\/li><li><b>Failure to show at first flight<\/b><ul><u>Reissue<\/u><li>Penalty fee : <b>7800 INR(at today exchange rates 7800 INR) <\/b><\/li><li>Maximum reissue penalty fee for entire ticket (per reissue) : <b>7800 INR<\/b><\/li><\/ul><\/li><li><b>After departure of journey<\/b><ul><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at subsequent flight(s)<\/b><ul><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><\/ul><\/li><li><b>Refund<\/b><br>Fare Component <b>O2IPOC<\/b>  Sector <b>GOI-BOM<\/b> <ul><li>Refund before\/after departure, including failure to show at first\/subsequent flight(s) : <b>Not Allowed<\/b><\/li><li><b>Prior to Departure of journey<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at first flight<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>After departure of journey<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at subsequent flight(s)<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><\/ul><\/li><br><b>* Revalidation is a modification of the original ticket without any reissue of a new ticket.<\/b><br><b>* For Reissue, Penalty fees are in addition to any difference in fare.<\/b><br><b>* For Refund, certain Taxes are non-refundable.<\/b><\/ul><\/fieldset><\/ul><ul><fieldset><legend><b><b>Adult<\/b><br><\/b><\/legend><ul><li><b>Revalidation\/Reissue<\/b><br>Fare Component <b>O2IPOC<\/b>  Sector <b>GOI-BOM<\/b> <ul><li>Revalidation before\/after departure, including failure to show at first\/subsequent flight(s) : <b>Not Allowed<\/b><\/li><li>Reissue, including failure to show at first flight : <b>Allowed with Restrictions<\/b><\/li><li><b>Prior to Departure of journey<\/b><ul><u>Reissue<\/u><li>Penalty fee : <b>1500 INR(at today exchange rates 1500 INR) <\/b><\/li><li>Maximum reissue penalty fee for entire ticket (per reissue) : <b>1500 INR<\/b><\/li><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at first flight<\/b><ul><u>Reissue<\/u><li>Penalty fee : <b>1500 INR(at today exchange rates 1500 INR) <\/b><\/li><li>Maximum reissue penalty fee for entire ticket (per reissue) : <b>1500 INR<\/b><\/li><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>After departure of journey<\/b><ul><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at subsequent flight(s)<\/b><ul><li>Revalidation\/Reissue request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><\/ul><\/li><li><b>Refund<\/b><br>Fare Component <b>O2IPOC<\/b>  Sector <b>GOI-BOM<\/b> <ul><li>Refund before\/after departure, including failure to show at first\/subsequent flight(s) : <b>Not Allowed<\/b><\/li><li><b>Prior to Departure of journey<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at first flight<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>After departure of journey<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><li><b>Failure to show at subsequent flight(s)<\/b><ul><li>Refund request must be made prior to : <b>No restriction<\/b><\/li><\/ul><\/li><\/ul><\/li><br><b>* Revalidation is a modification of the original ticket without any reissue of a new ticket.<\/b><br><b>* For Reissue, Penalty fees are in addition to any difference in fare.<\/b><br><b>* For Refund, certain Taxes are non-refundable.<\/b><\/ul><\/fieldset><\/ul><br \/><b>These Are Non Refundable Fares.<\/b><br \/>RateClass : O2IPOC<br\/>FareClass : O2IPOC<br\/>marketing Company : 9W<br\/>Booking Class : O<br\/>Origin : GOI<br\/>destination : BOM<br\/>ruleSectionLocalId : 1<br\/>ruleCategoryCode : (5)<br\/>AP.ADVANCE RES\/TKTFOR O2IPOC TYPE FARES THE PROVISIONS BELOW APPLY ONLY AS FOLLOWS - TICKETS MAY ONLY BE SOLD IN INDIA. RESERVATIONS FOR EACH SECTOR ARE REQUIRED FOR DEPARTURE OF EACH TRIP ON THE FARE COMPONENT. RESERVATIONS AND TICKETING MUST BE COMPLETED AT THE SAME TIME. WAITLIST NOT PERMITTED. NOTE - OPEN DATED AND REQUEST TICKETS ARE NOT ALLOWED. THE TRAVEL VIA INTERMEDIATE POINT MUST BE CONFIRMED AT THE TIME OF TICKETING. STOPOVER AT INTERMEDIATE POINT NOT PERMITTED. ------------------------- DIFFERENCE MAY EXIST BETWEEN FARE RULE LAST TICKETING DATE AND SYSTEM GENERATED TICKETING DEADLINE DUE TO AUTOMATED TICKETING CONTROL MORE RESTRICTIVE TICKETING DEADLINE WILL APPLY. THE PROVISIONS BELOW APPLY ONLY AS FOLLOWS - TICKETS MAY NOT BE SOLD IN INDIA. TICKETS MAY ONLY BE SOLD IN AREA 1\/AREA 2\/AREA 3. RESERVATIONS ARE REQUIRED FOR EACH SECTOR FOR DEPARTURE OF EACH TRIP ON THE FARE COMPONENT. WAITLIST NOT PERMITTED. NOTE - OPEN DATED AND REQUEST TICKETS ARE NOT ALLOWED. THE TRAVEL VIA INTERMEDIATE POINT MUST BE CONFIRMED AT THE TIME OF TICKETING. STOPOVER AT INTERMEDIATE POINT NOT PERMITTED. ------------------------- DIFFERENCE MAY EXIST BETWEEN FARE RULE LAST TICKETING DATE AND SYSTEM GENERATED TICKETING DEADLINE DUE TO AUTOMATED TICKETING CONTROL MORE RESTRICTIVE TICKETING DEADLINE WILL APPLY.<br\/>ruleSectionLocalId : 2<br\/>ruleCategoryCode : (16)<br\/>PE.PENALTIESFROM\/TO INDIA FOR O2IPOC TYPE FARES CHANGES CHARGE INR 3900. NOTE - ABOVE CHARGE IS APPLICABLE PER FARE COMPONENT FOR DATE\/FLIGHT\/ROUTING CHANGE. ..... IF ANY PASSENGER CHOSE TO OFFLOAD HIMSELF\/HERSELF AFTER BOARDING ANY DOMESTIC FLIGHT FARE ALONG WITH YR\/YQ WILL BE FORFEITED. ONLY STATUTORY TAXES WILL BE REFUNDED. CHARGE INR 3900 FOR NO-SHOW. NOTE - NO PENALTY FOR INFANT WITHOUT A SEAT. ADULT PENALTY APPLY FOR CHILD AND INFANT WITH SEAT ..... CANCELLATIONS BEFORE DEPARTURE CHARGE INR 4200 FOR CANCEL\/REFUND. NOTE - BASE FARE PLUS FUEL SURCHARGE OR CANCELLATON\/REFUND FEES WHICHEVER IS LOWER WILL BE DEDUCTED WHEN PROCESSING REFUND. FOR NON-REFUNDABLE TICKETS - SERVICE TAX-GOODS AND SERVICE TAX GST-K3 ARE ALSO NON-REFUNDABLE ALONG WITH BASIC PLUS YQ PLUS YR IN CASE OF CANCELLATION OR REFUNDS. ONLY UNUTILIZED STATUTORY TAXES WILL BE REFUNDED ..... FULLY UNUTILISED TICKTET - ABOVE CHARGE IS APPLICABLE PER FARE COMPONENT. ..... NO SHOW - NON REFUNDABLE IN CASE OF CANCELLATION. FARES IS NON REFUNDABLE ONLY STATUTORY TAXES WILL BE REFUNDED. ..... AFTER DEPARTURE CHARGE INR 4200 FOR CANCEL\/REFUND. NOTE - BASE FARE PLUS FUEL SURCHARGE OR CANCELLATON\/REFUND FEES WHICHEVER IS LOWER WILL BE DEDUCTED WHEN PROCESSING REFUND. FOR NON-REFUNDABLE TICKETS - SERVICE TAX-GOODS AND SERVICE TAX GST-K3 ARE ALSO NON-REFUNDABLE ALONG WITH BASIC PLUS YQ PLUS YR IN CASE OF CANCELLATION OR REFUNDS. ONLY UNUTILIZED STATUTORY TAXES WILL BE REFUNDED ..... PARTIALLY UTILISED TICKETS - FARE APPLICABLE PLUS YR\/YQ PLUS TAXES OF THE UTILISED SECTOR ALONG WITH THE PENALTY MUST BE CHARGED FOR PARTIALLY USED TICKETS AND REFUND THE RESIDUAL IF ANY. CHARGES APPLY PER FARE COMPONENT. ..... NO SHOW - NON REFUNDABLE IN CASE OF CANCELLATION. FARES IS NON REFUNDABLE ONLY STATUTORY TAXES WILL BE REFUNDED. ..... FOR REFUND- ON SECTORS WHERE FIRST CLASS\/PREMIERE SERVICE IS NOT OFFERED\/AVAILABLE AT THE TIME OF TICKETING PASSENGERS MAY BE BOOKED IN THE NEXT LOWER CABIN. NO REFUND WILL BE PERMITTED FOR CLASS DIFFERENCE IN SUCH CASES. ..... GENERAL RULE - APPLY UNLESS OTHERWISE SPECIFIED. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. ONE FREE POSTPONEMENT IS PERMITTED TO INBOUND JOURNEY WHEN INBOUND IS REQUIRED OUTSIDE SYSTEM RANGE. IN SUCH CASES RESERVATION FOR INBOUND JOURNEY MUST BE MADE FOR LAST DATE IN SYSTEM RANGE AS ON DATE OF TICKET ISSUE. ANY OTHER CHANGES OR SUBSEQUENT CHANGES WILL BE SUBJECT TO CHARGES MENTIONED IN PENALTIES. ..... FOR VOLUNTARY REVALIDATION OF THE FIRST TICKETED FLIGHT SEGMENT THE ITINERARY MUST BE RE-PRICED USING CURRENT AND APPLICABLE FARES IN EFFECT ON THE DATE THE TICKET IS REISSUED AND WITH THE FOLLOWING CONDITIONS 1. THE ITINERARY MUST MEET ALL RULE PROVISIONS OF THE NEWLY TICKETED FARE I.E. ADVANCE RESERVATIONS\/TICKETING DEADLINE\/MINIMUM\/MAXIMUM STAY\/BOOKING CLASSES\/SEASONALITY ETC. 2. THE ORIGINAL NON-REFUNDABLE AMOUNT IF ANY REMAINS NON-REFUNDABLE AND MUST BE CARRIED TOWARDS THE NEW REISSUED TICKET. 3. ANY PENALTIES APPLICABLE WILL ALSO NEED TO BE COLLECTED. ..... INCASE OF COMBINATIONS BETWEEN MULTIPLE FARES THE MOST RESTRICTIVE CONDITIONS WILL BE APPLICABLE FOR THE ENTIRE PRICING UNIT. ..... CHANGES TO RESERVATION IS NOT PERMITTED WITHIN TWO HOURS OF FLIGHT DEPARTURE.ANY CHANGES MADE TO THE RESERVATION WITHIN TWO HOURS OF FLIGHT DEPARTURE WILL BE TREATED AS NO SHOW AND WILL BE LIABLE FOR APPLICABLE PENALTIES. ..... ADDITIONAL GST WILL APPLY FOR ANY PENALTY AMOUNT. .....<br\/><br\/> <br\/>","FareRestriction":null}],"Status":1}}}}';
// $b = '{"Response":{"B2B2BStatus":false,"Error":{"ErrorCode":0,"ErrorMessage":""},"ResponseStatus":1,"TraceId":"e32d48d1-7c1e-4b75-aebc-d2a74dea372f","Response":{"PNR":"BYZF4A","BookingId":1401137,"SSRDenied":false,"SSRMessage":null,"Status":1,"IsPriceChanged":false,"IsTimeChanged":false,"FlightItinerary":{"IssuancePcc":"Agenttest","TripIndicator":1,"BookingAllowedForRoamer":true,"BookingId":1401137,"IsManual":false,"PNR":"BYZF4A","IsDomestic":true,"Source":25,"Origin":"BOM","Destination":"GOI","AirlineCode":"SG","LastTicketDate":"9999-12-31T00:00:00","ValidatingAirlineCode":"SG","AirlineRemark":"","IsLCC":true,"NonRefundable":false,"FareType":"PUB","CreditNoteNo":null,"Fare":{"Currency":"INR","BaseFare":2798,"Tax":930,"TaxBreakup":[{"key":"K3","value":152.00},{"key":"PSF","value":300.00},{"key":"YR","value":100.00},{"key":"OtherTaxes","value":278.00},{"key":"TotalTax","value":930.00}],"TransactionFee":251.82,"YQTax":0,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":0,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":0},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0.00,"PublishedFare":3979.82,"CommissionEarned":0.00,"PLBEarned":0.00,"IncentiveEarned":0.00,"OfferedFare":3979.82,"TdsOnCommission":0.00,"TdsOnPLB":0.00,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"CreditNoteCreatedOn":null,"Passenger":[{"PaxId":1979531,"Title":"Mr","FirstName":"Sabir","LastName":"Noor","PaxType":1,"DateOfBirth":"1990-10-07T00:00:00","Gender":1,"PassportNo":"","AddressLine1":"Nahi Bataiyenge","AddressLine2":"","Fare":{"Currency":"INR","BaseFare":1399,"Tax":465,"TaxBreakup":[{"key":"K3","value":76.00},{"key":"PSF","value":150.00},{"key":"YR","value":50.00},{"key":"OtherTaxes","value":139.00},{"key":"TotalTax","value":465.00}],"TransactionFee":125.91,"YQTax":0,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":0,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":0},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0.00,"PublishedFare":1989.91,"CommissionEarned":0.00,"PLBEarned":0.00,"IncentiveEarned":0.00,"OfferedFare":1989.91,"TdsOnCommission":0.00,"TdsOnPLB":0.00,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"City":"Samastipur","CountryCode":"IN","CountryName":"India","Nationality":"IN","ContactNo":"9234674005","Email":"anshul@catpl.co.in","IsLeadPax":true,"FFAirlineCode":null,"FFNumber":"","Baggage":[{"AirlineCode":"SG","FlightNumber":"612","WayType":2,"Code":"No Baggage","Description":2,"Weight":0,"Currency":"INR","Price":0,"Origin":"BOM","Destination":"GOI"}],"Ssr":[],"Ticket":{"TicketId":1670583,"TicketNumber":"BYZF4A","IssueDate":"2018-10-10T12:46:29","ValidatingAirline":"001","Remarks":"","ServiceFeeDisplayType":"ShowInTax","Status":"OK","ConjunctionNumber":" ","TicketType":"N"},"GSTCompanyAddress":"","GSTCompanyContactNumber":"","GSTCompanyEmail":"","GSTCompanyName":"","GSTNumber":"","SegmentAdditionalInfo":[{"FareBasis":"CSAVER","NVA":"","NVB":"","Baggage":"10 Kg","Meal":"0 Platter","Seat":"","SpecialService":""}]},{"PaxId":1979532,"Title":"Miss","FirstName":"Hiba","LastName":"Noor","PaxType":2,"DateOfBirth":"2007-02-23T00:00:00","Gender":2,"PassportNo":"","Fare":{"Currency":"INR","BaseFare":1399,"Tax":465,"TaxBreakup":[{"key":"K3","value":76.00},{"key":"PSF","value":150.00},{"key":"YR","value":50.00},{"key":"OtherTaxes","value":139.00},{"key":"TotalTax","value":465.00}],"TransactionFee":125.91,"YQTax":0,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":0,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":0},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0.00,"PublishedFare":1989.91,"CommissionEarned":0.00,"PLBEarned":0.00,"IncentiveEarned":0.00,"OfferedFare":1989.91,"TdsOnCommission":0.00,"TdsOnPLB":0.00,"TdsOnIncentive":0.00,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"CountryCode":"IN","CountryName":"India","Nationality":"IN","IsLeadPax":false,"FFAirlineCode":null,"FFNumber":"","Baggage":[{"AirlineCode":"SG","FlightNumber":"612","WayType":2,"Code":"No Baggage","Description":2,"Weight":0,"Currency":"INR","Price":0,"Origin":"BOM","Destination":"GOI"}],"Ssr":[],"Ticket":{"TicketId":1670584,"TicketNumber":"BYZF4A","IssueDate":"2018-10-10T12:46:30","ValidatingAirline":"001","Remarks":"","ServiceFeeDisplayType":"ShowInTax","Status":"OK","ConjunctionNumber":" ","TicketType":"N"},"GSTCompanyAddress":"","GSTCompanyContactNumber":"","GSTCompanyEmail":"","GSTCompanyName":"","GSTNumber":"","SegmentAdditionalInfo":[{"FareBasis":"CSAVER","NVA":"","NVB":"","Baggage":"10 Kg","Meal":"0 Platter","Seat":"","SpecialService":""}]}],"CancellationCharges":null,"Segments":[{"Baggage":null,"CabinBaggage":null,"TripIndicator":1,"SegmentIndicator":1,"Airline":{"AirlineCode":"SG","AirlineName":"SpiceJet","FlightNumber":"612","FareClass":"C","OperatingCarrier":""},"AirlinePNR":"","Origin":{"Airport":{"AirportCode":"BOM","AirportName":"Mumbai","Terminal":"1","CityCode":"BOM","CityName":"Mumbai","CountryCode":"IN","CountryName":"India"},"DepTime":"2018-10-30T23:45:00"},"Destination":{"Airport":{"AirportCode":"GOI","AirportName":"Dabolim","Terminal":"1B","CityCode":"GOI","CityName":"Goa","CountryCode":"IN","CountryName":"India"},"ArrTime":"2018-10-31T00:55:00"},"Duration":70,"GroundTime":0,"Mile":0,"StopOver":false,"StopPoint":"","StopPointArrivalTime":"2018-10-31T00:55:00","StopPointDepartureTime":"2018-10-30T23:45:00","Craft":"737","Remark":null,"IsETicketEligible":false,"FlightStatus":"Confirmed","Status":"HK"}],"FareRules":[{"Origin":"BOM","Destination":"GOI","Airline":"SG","FareBasisCode":"CSAVER","FareRuleDetail":" \u000d\u000a You have booked a Saver Fare for # and # sector(s). Changes and cancellations are permitted as per applicable rules and charges. \u000d <br\/> <br\/>","FareRestriction":null}],"Status":5,"InvoiceAmount":3980.00,"InvoiceNo":"DW\/1819\/28702","InvoiceStatus":3,"InvoiceCreatedOn":"2018-10-10T12:46:29","Remarks":""},"TicketStatus":1}}}';
//$response = [$a,$b];
//$responseMain = [$a,$b];
//echo "<pre>";print_r($responseMain);
//$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
//$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$outBoundId = 0;
$inBoundId = 0;
if ($responseMain) {
foreach ($responseMain as $keys => $response) {
//$arrIntTpAirId = $arrVersionId[$keys]['VersionId'];
//$TPSysIdLoop = $arrVersionId[$keys]['TPSysId'];
//$MasterTPSysIdLoop = $arrVersionId[$keys]['MasterTPSysId'];
$response = json_decode($response, true);
$IsLCC = isset($response['Response']['Response']['FlightItinerary']['IsLCC']) ? $response['Response']['Response']['FlightItinerary']['IsLCC'] : '';
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
if ($keys == 0) {
if ($ErrorCode != 0) {
$outBoundId = $intOutBoundId;
}
} else {
if ($ErrorCode != 0) {
$inBoundId = $intInBoundId;
}
}
if ($ErrorCode == 0 && $ErrorMessage == "") {
$Arrticket = [];
$ArrPassenger = [];
$Passenger = isset($response['Response']['Response']['FlightItinerary']['Passenger']) ? $response['Response']['Response']['FlightItinerary']['Passenger'] : array();
if ($Passenger) {
foreach ($Passenger as $k => $val) {
$Arrticket[] = isset($val['Ticket']) ? $val['Ticket'] : '';
$ArrPassenger[] = $val;
}
}
$strBookingId = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$data = array(
"XRefBookingId" => $strBookingId . "/" . $strTicketPNR,
"APIBookingRes" => json_encode($response),
"IsBookingStatus" => 1
);
if ($IsLCC == '1') {
$data['XRefPNR'] = 1;
} else {
$data['XRefPNR'] = '';
}
//echo '<pre>';print_r($data);
//echo $arrIntTpAirId;
$objFlight->updateBookingDetails($data, $arrIntTpAirId[$keys]);
if (isset($arrTrevllerList) && !empty($arrTrevllerList)) {
foreach ($arrTrevllerList as $key => $value) {
if (isset($Arrticket[$key])) {
$Ticket = $Arrticket[$key];
$dataTravel = array(
"TicketId" => isset($Ticket['TicketId']) ? $Ticket['TicketId'] : '',
"TicketNumber" => isset($Ticket['TicketNumber']) ? $Ticket['TicketNumber'] : '',
"TicketFullJson" => json_encode(isset($ArrPassenger[$key]) ? $ArrPassenger[$key] : [])
);
$objFlight->updateTravelPlanPax($dataTravel, $value['TPPaxSysId']);
}
}
}
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $TPSysId, $MasterTPSysId);
} else {
$data = array(
"XRefBookingId" => '',
"APIBookingRes" => json_encode($response),
"XRefPNR" => '',
"IsBookingStatus" => 0
);
$objFlight->updateBookingDetails($data, $arrIntTpAirId[$keys]);
}
//$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $MasterTPSysId);
}
}
if ($outBoundId == 0 || $inBoundId == 0) {
$objFlight = new Travel_Model_TblFlight();
$arrFlightFare = $objFlight->customerInvoiceData($intTPSysId);
//echo '<pre>';print_r($arrFlightFare);die;
if ($arrFlightFare) {
foreach ($arrFlightFare as $k => $values) {
$AgencySysId = $values['AgencySysId'];
$AgentSysId = $values['AgentSysId'];
$intLoggedinUserEmailId = $values['PrimaryEmail'];
$arrtravellerList = $objFlight->travellerListBySabir($intTPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($intTPSysId, $values['AirVersionId']);
//echo '<pre>';print_r($arrCustomerInvoiceData);echo '</pre>';
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetailsNew = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
$html->assign('arrResponse', $response);
$html->assign('arrTrevllerDetails', $arrTrevllerDetailsNew);
$html->assign('arrtravellerList', $arrtravellerList);
$html->assign('arrCustomerInvoiceData', $arrCustomerInvoiceData);
$bodyText = $html->render('mail-booking-content-new.phtml');
//echo $bodyText;die;
$subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
$customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId']) ? $arrTrevllerDetails[0][0]['EmailId'] : '';
$emailData = array('fromEmail' => trim($intLoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $intLoggedinUserEmailId, "gaurav@hellogtx.com", "prashant@catpl.co.in"), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $intTPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$this->mailSentByElastice($emailData, $arrEmailStatistics);
} catch (Exception $err) {
print_r($err, true);
}
}
}
}
if ($outBoundId == 0 && $inBoundId == 0) {
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['tripType'] = 2;
$arrData['arrBookingResponse'] = json_encode($responseMain);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
} else {
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['tripType'] = 2;
$arrData['arrBookingResponse'] = json_encode($responseMain);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
//echo "<pre>";print_r($arrData);exit;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => 'Error', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
// Proccess Refund Ends Here.......
}
//echo '<pre>';print_r($intTPSysId);
//echo '<pre>';print_r($MasterTPSysId);
die('old start');
if ($ErrorCode == 0 && $ErrorMessage == "") {
$arrDepartureResponse = json_decode($response[0], true);
$arrReturnResponse = json_decode($response[1], true);
$Arrticket = [];
$ArrPassenger = [];
if ($response && $IsLCC == '1') {
foreach ($response as $value) {
$valuedE = json_decode($value, TRUE);
$Passenger = isset($valuedE['Response']['Response']['FlightItinerary']['Passenger']) ? $valuedE['Response']['Response']['FlightItinerary']['Passenger'] : array();
if ($Passenger) {
foreach ($Passenger as $k => $val) {
$Arrticket[] = isset($val['Ticket']) ? $val['Ticket'] : '';
$ArrPassenger[] = $val;
}
}
}
}
$objFlightProposal = new Travel_Model_TblFlightProposal();
$objFlightProposal->strCondition = " t3.InvnItemSysId IN ('" . $intOutBoundId . "','" . $intInBoundId . "') ";
$arrVersionId = $objFlightProposal->getVersionIdByTPSysIds($intTPSysId);
//echo $intTPSysId;
//echo "<pre>";print_r($arrVersionId);exit;
$i = 0;
$outBoundId = 0;
$inBoundId = 0;
foreach ($arrVersionId as $res) {
$TPintSysId = trim($res['VersionId']);
// Booking details to transaction table...
if ($i == 0) {
$strBookingId = isset($arrDepartureResponse['Response']['Response']['BookingId']) ? $arrDepartureResponse['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($arrDepartureResponse['Response']['Response']['PNR']) ? $arrDepartureResponse['Response']['Response']['PNR'] : '';
$ErrorCode = isset($arrDepartureResponse['Response']['Error']['ErrorCode']) ? $arrDepartureResponse['Response']['Error']['ErrorCode'] : '0';
if ($arrDepartureResponse['Response']['Error']['ErrorCode'] != 0) {
$outBoundId = $intOutBoundId;
}
$ErrorMessage = isset($arrDepartureResponse['Response']['Error']['ErrorMessage']) ? $arrDepartureResponse['Response']['Error']['ErrorMessage'] : '';
} else {
$strBookingId = isset($arrReturnResponse['Response']['Response']['BookingId']) ? $arrReturnResponse['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($arrReturnResponse['Response']['Response']['PNR']) ? $arrReturnResponse['Response']['Response']['PNR'] : '';
$ErrorCode = isset($arrReturnResponse['Response']['Error']['ErrorCode']) ? $arrReturnResponse['Response']['Error']['ErrorCode'] : '0';
if ($arrReturnResponse['Response']['Error']['ErrorCode'] != 0) {
$inBoundId = $intInBoundId;
}
$ErrorMessage = isset($arrReturnResponse['Response']['Error']['ErrorMessage']) ? $arrReturnResponse['Response']['Error']['ErrorMessage'] : '';
}
$data = array(
"XRefBookingId" => $strBookingId . "/" . $strTicketPNR,
"APIBookingRes" => ($response[$i]),
"IsBookingStatus" => 1
);
$objFlight->updateBookingDetails($data, $TPintSysId); // FOR BOOKING CONFIRMED
if (isset($arrTrevllerList) && !empty($arrTrevllerList && $IsLCC == '1')) {
foreach ($arrTrevllerList as $key => $value) {
if (isset($Arrticket[$key])) {
$Ticket = $Arrticket[$key];
$data = array(
"TicketId" => $Ticket['TicketId'],
"TicketNumber" => $Ticket['TicketNumber'],
"TicketFullJson" => json_encode(isset($ArrPassenger[$key]) ? $ArrPassenger[$key] : [])
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
}
}
// Booking details to transaction Ends...
//Mail Booking Itenary To Customer
if ($ErrorCode == 0 && $ErrorMessage == "") {
$objFlight = new Travel_Model_TblFlight();
$arrFlightFare = $objFlight->flightFairDetailsForEmail($TPintSysId, $AgencySysId);
//echo "<pre>";print_r($arrFlightFare);exit;
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrProposalDetails = $objFlightProposal->getFlightProposalDetails("", $MasterTPSysId);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
if ($i == 0) {
$html->assign('arrResponse', $arrDepartureResponse);
} else {
$html->assign('arrResponse', $arrReturnResponse);
}
$html->assign('arrAgencyDetail', $arrAgencyDetail);
$html->assign('arrFlightFare', isset($arrFlightFare[$i]) ? $arrFlightFare[$i] : array());
$html->assign('arrProposalDetails', $arrProposalDetails[0]);
$bodyText = $html->render('mail-booking-content.phtml');
if ($i == 0) {
$subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
} else {
$subject = "Flight Booking Itinerary From " . $DestAirportCode . " To " . $SourceAirportCode;
}
$customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId']) ? $arrTrevllerDetails[0][0]['EmailId'] : '';
//$emailData = array('fromEmail'=>trim($LoggedinUserEmailId),'fromName'=>trim($arrAgencyDetail['DisplayName']),'subject'=> $subject,'to'=>array($customerEmailId,$LoggedinUserEmailId,"gaurav@hellogtx.com"),'bodyHtml'=>$bodyText,'bodyText'=>'');
$emailData = array('fromEmail' => trim($LoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $TPintSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$this->mailSentByElastice($emailData, $arrEmailStatistics, 1, $arrTrevllerDetails[0][0]['CustomerSysId']);
} catch (Exception $err) {
print_r($err, true);
}
}
//Mail Booking Itenary To Customer
$i++;
// update status travelplan
if ($outBoundId == 0 || $inBoundId == 0) {
$objFlight->updateBookingStatusTravelPlanOnly(array("StatusType" => '17'), $res['TPSysId'], $res['MasterTPSysId']); // FOR BOOKING CONFIRMED
} else {
$objFlight->updateBookingStatusTravelPlanOnly(array("StatusType" => '7'), $res['TPSysId'], $res['MasterTPSysId']); // FOR BOOKING CONFIRMED
}
}
if ($outBoundId == 0 || $inBoundId == 0) {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
} else {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '7'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
}
if ($outBoundId == 0 && $inBoundId == 0) {
$objFlight->updateBookingStatusTravelPlan(array("StatusType" => '17'), $intTPSysId, $travelPlanDetais[0]['MasterTPSysId']); // FOR BOOKING CONFIRMED
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['tripType'] = 2;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
} else {
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['tripType'] = 2;
$arrData['arrBookingResponse'] = json_encode($response);
$arrData['intTPSysId'] = $intTPSysId;
$arrData['arrIntTpAirId'] = $arrIntTpAirId;
//echo "<pre>";print_r($arrData);exit;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => 'Error', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
// Proccess Refund Ends Here.......
}
}
} else {
// Payment Failed Error
$strUrlData = $this->getRequest()->getParam('strUrlData');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
$intOutBoundId = !empty($arrUrlData['AirInvenSysId']) ? $arrUrlData['AirInvenSysId'] : 0;
$intInBoundId = !empty($arrUrlData['ReturnAirInvenSysId']) ? $arrUrlData['ReturnAirInvenSysId'] : 0;
$intCustomerSysId = !empty($arrUrlData['CustomerSysId']) ? $arrUrlData['CustomerSysId'] : 0;
$intTPSysId = !empty($arrUrlData['TPSysId']) ? $arrUrlData['TPSysId'] : 0;
$MasterTPSysId = !empty($arrUrlData['MasterTPSysId']) ? $arrUrlData['MasterTPSysId'] : 0;
$arrError = [
"Response" => [
"Error" => [
"ErrorCode" => 2,
"ErrorMessage" => "Oops! Some error."
]
]
];
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['arrBookingResponse'] = json_encode($arrError);
$arrData['intTPSysId'] = $intTPSysId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
} else {
// Payment Failed Error
$strUrlData = $this->getRequest()->getParam('strUrlData');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
$intOutBoundId = !empty($arrUrlData['AirInvenSysId']) ? $arrUrlData['AirInvenSysId'] : 0;
$intInBoundId = !empty($arrUrlData['ReturnAirInvenSysId']) ? $arrUrlData['ReturnAirInvenSysId'] : 0;
$intCustomerSysId = !empty($arrUrlData['CustomerSysId']) ? $arrUrlData['CustomerSysId'] : 0;
$intTPSysId = !empty($arrUrlData['TPSysId']) ? $arrUrlData['TPSysId'] : 0;
$MasterTPSysId = !empty($arrUrlData['MasterTPSysId']) ? $arrUrlData['MasterTPSysId'] : 0;
$arrError = [
"Response" => [
"Error" => [
"ErrorCode" => 2,
"ErrorMessage" => "Oops! Payment cancelled by User."
]
]
];
$arrData['customerSysId'] = $intCustomerSysId;
$arrData['TPSysId'] = $TPSysId;
$arrData['guid'] = $guid;
$arrData['TrxSysId'] = $TrxSysId;
$arrData['intOutBoundId'] = $intOutBoundId;
$arrData['intInBoundId'] = $intInBoundId;
$arrData['arrBookingResponse'] = json_encode($arrError);
$arrData['intTPSysId'] = $intTPSysId;
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($arrData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData, 'formAction' => "/flight-proposal/proposal-booking-confirmation");
echo json_encode($response);
exit;
}
} else {
$this->view->status = !empty($this->getRequest()->getParam('status')) ? $this->getRequest()->getParam('status') : '';
$this->view->strUrlData = $this->view->strUrlData = $this->getRequest()->getParam('data');
$this->view->TrxSysId = $this->getRequest()->getParam('TrxId');
$this->view->TPSysId = $this->getRequest()->getParam('TpSysId');
$this->view->guid = $this->getRequest()->getParam('GUID');
}
}
public function proposalBookingConfirmationAction()
{
$strUrlData = $this->view->strUrlData = $this->getRequest()->getParam('data');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
$post = $this->getRequest()->getPost();
//echo '<pre>';print_r($arrUrlData);echo '</pre>';die;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$IsInterNational = $this->view->IsInterNational = isset($sessionFlightProposalParams->params['IsInterNational']) ? $sessionFlightProposalParams->params['IsInterNational'] : 0;
$tripType = $this->view->tripType = !empty($arrUrlData['tripType']) ? $arrUrlData['tripType'] : 1;
$IsQuickProposal = isset($arrUrlData['IsQuickProposal']) ? $arrUrlData['IsQuickProposal'] : '0';
$arrIntTpAirId = isset($arrUrlData['arrIntTpAirId'][0]) ? $arrUrlData['arrIntTpAirId'][0] : '0';
/* API Booking Response */
$arrBookingResponse = $this->view->arrBookingResponse = isset($arrUrlData['arrBookingResponse']) ? json_decode($arrUrlData['arrBookingResponse'], true) : '';
//echo "<pre>";print_r($arrBookingResponse);die('dddddd');
$TraceId = isset($arrBookingResponse['Response']['TraceId']) ? $arrBookingResponse['Response']['TraceId'] : '';
$this->view->TraceId = $TraceId;
$intTPSysId = $this->view->intTPSysId = !empty($arrUrlData['TPSysId']) ? $arrUrlData['TPSysId'] : (!empty($this->getRequest()->getParam('TPSysId')) ? $this->getRequest()->getParam('TPSysId') : 0);
$TrxSysId = $this->view->TrxSysId = !empty($arrUrlData['TrxSysId']) ? $arrUrlData['TrxSysId'] : (!empty($this->getRequest()->getParam('TrxSysId')) ? $this->getRequest()->getParam('TrxSysId') : 0);
$guid = $this->view->guid = !empty($arrUrlData['guid']) ? $arrUrlData['guid'] : (!empty($this->getRequest()->getParam('guid')) ? $this->getRequest()->getParam('guid') : '');
$objFlight = new Travel_Model_TblFlight();
$arrTravelPlanAir = $objFlight->getTravelPlanAirData($intTPSysId);
$this->view->arrTravelPlanAir = $arrTravelPlanAir;
// $dfdfdfd = '{"Response":{"B2B2BStatus":false,"Error":{"ErrorCode":0,"ErrorMessage":""},"ResponseStatus":1,"TraceId":"1c52c04b-e981-44bc-864b-4ae2b4ad3ef6","Response":{"PNR":"R4TNPR","BookingId":1377383,"SSRDenied":false,"SSRMessage":null,"Status":1,"IsPriceChanged":false,"IsTimeChanged":false,"FlightItinerary":{"IssuancePcc":"OTI011","TripIndicator":1,"BookingId":1377383,"IsManual":false,"PNR":"R4TNPR","IsDomestic":true,"Source":6,"Origin":"GOI","Destination":"BOM","AirlineCode":"6E","LastTicketDate":"9999-12-31T00:00:00","ValidatingAirlineCode":"6E","AirlineRemark":"","AirlineTollFreeNo":"1800-0001-5456-51515","IsLCC":true,"NonRefundable":false,"FareType":"PUB","CreditNoteNo":null,"Fare":{"Currency":"INR","BaseFare":1600,"Tax":1066.18,"TaxBreakup":[{"key":"K3","value":103.68},{"key":"PSF","value":239.00},{"key":"YR","value":50.00},{"key":"YQTax","value":500.00},{"key":"TransactionFee","value":73.50},{"key":"TotalTax","value":1066.18}],"YQTax":500,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":236.00,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":236.00},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0.00,"PublishedFare":2902.18,"CommissionEarned":30.70,"PLBEarned":32.36,"IncentiveEarned":21.88,"OfferedFare":2817.24,"TdsOnCommission":9.21,"TdsOnPLB":9.71,"TdsOnIncentive":6.56,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"CreditNoteCreatedOn":null,"Passenger":[{"PaxId":1906916,"Title":"Mr","FirstName":"Md","LastName":"Sabir","PaxType":1,"DateOfBirth":"1990-10-07T00:00:00","Gender":1,"PassportNo":"","AddressLine1":"H65 Ground Floor Jamia Nagar","AddressLine2":"","Fare":{"Currency":"INR","BaseFare":1600,"Tax":1066.18,"TaxBreakup":[{"key":"K3","value":103.68},{"key":"PSF","value":239.00},{"key":"YR","value":50.00},{"key":"YQTax","value":500.00},{"key":"TransactionFee","value":73.50},{"key":"TotalTax","value":1066.18}],"YQTax":500,"AdditionalTxnFeeOfrd":0,"AdditionalTxnFeePub":0,"PGCharge":0,"OtherCharges":236.00,"ChargeBU":[{"key":"TBOMARKUP","value":0},{"key":"OTHERCHARGE","value":236.00},{"key":"CONVENIENCECHARGE","value":0}],"Discount":0.00,"PublishedFare":2902.18,"CommissionEarned":30.70,"PLBEarned":32.36,"IncentiveEarned":21.88,"OfferedFare":2817.24,"TdsOnCommission":9.21,"TdsOnPLB":9.71,"TdsOnIncentive":6.56,"ServiceFee":0,"TotalBaggageCharges":0,"TotalMealCharges":0,"TotalSeatCharges":0,"TotalSpecialServiceCharges":0},"City":"Delhi","CountryCode":"IN","CountryName":"India","Nationality":"IN","ContactNo":"8447455883","Email":"anshul@catpl.co.in","IsLeadPax":true,"FFAirlineCode":null,"FFNumber":"","Ticket":{"TicketId":1647595,"TicketNumber":"R4TNPR","IssueDate":"2018-07-23T13:50:04","ValidatingAirline":"708","Remarks":"","ServiceFeeDisplayType":"ShowInTax","Status":"OK","ConjunctionNumber":" ","TicketType":"N"},"SegmentAdditionalInfo":[{"FareBasis":"JZ15AP","NVA":"","NVB":"","Baggage":"0 Kg","Meal":"0 Platter","Seat":"","SpecialService":""}]}],"CancellationCharges":null,"Segments":[{"Baggage":null,"CabinBaggage":null,"TripIndicator":1,"SegmentIndicator":1,"Airline":{"AirlineCode":"6E","AirlineName":"IndiGo","FlightNumber":"418","FareClass":"HO","OperatingCarrier":""},"AirlinePNR":"","Origin":{"Airport":{"AirportCode":"GOI","AirportName":"Dabolim","Terminal":"","CityCode":"GOI","CityName":"Goa","CountryCode":"IN","CountryName":"India"},"DepTime":"2018-07-24T17:10:00"},"Destination":{"Airport":{"AirportCode":"BOM","AirportName":"Mumbai","Terminal":"","CityCode":"BOM","CityName":"Mumbai","CountryCode":"IN","CountryName":"India"},"ArrTime":"2018-07-24T18:30:00"},"Duration":80,"GroundTime":0,"Mile":0,"StopOver":false,"StopPoint":"","StopPointArrivalTime":"2018-07-24T18:30:00","StopPointDepartureTime":"2018-07-24T17:10:00","Craft":"320","Remark":null,"IsETicketEligible":false,"FlightStatus":"Confirmed","Status":"HK"}],"FareRules":[{"Origin":"GOI","Destination":"BOM","Airline":"6E","FareBasisCode":"JZ15AP","FareRuleDetail":"These are just hand bag fares there is no checked in baggage for this fare.<\/B>
// \u000d\u000a IndiGo Fares Terms & Conditions\u000d\u000a============================================================\u000d\u000a Regular \/ Promo Fare\u000d\u000a-------------------------------------------------------------------------------------\u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: 15 kg for Domestic sectors and 20 kg for International Sectors except 30 Kg for Dubai, Muscat, Sharjah, Doha and Singapore.\u000d\u000aHand Baggage Allowance: 7 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India & Nepal Travel: Rs 2,250 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if changed within 2 hrs from scheduled departure.\u000d\u000aInternational except Nepal: Rs 2,500 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 4hrs before the scheduled departure. No-show charges will be levied if changed within 4 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India & Nepal Travel: Rs 3,000 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if cancelled within 2 hrs from scheduled departure. \u000d\u000aInternational except Nepal: Rs 3,500 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 4hrs before the scheduled departure. No-show charges will be levied if cancelled within 4 hrs from scheduled departure. \u000d\u000a============================================================\u000d\u000a Return Fare\u000d\u000a-------------------------------------------------------------------------------------\u000d\u000aApplicable for Round-Trip journey.\u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: 15 kg for Domestic sectors and 20 kg for International Sectors except 30 Kg for Dubai, Muscat, Sharjah, Doha and Singapore.\u000d\u000aHand Baggage Allowance: 7 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India & Nepal Travel: Rs 2,250 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if changed within 2 hrs from scheduled departure. \u000d\u000aInternational except Nepal: Rs 2,500 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 4hrs before the schedule departure. No-show charges will be levied if changed within 4 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India & Nepal Travel: Rs 3,000 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if cancelled within 2 hrs from scheduled departure. \u000d\u000aInternational except Nepal: Rs 3,500 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 4hrs before the scheduled departure. No-show charges will be levied if cancelled within 4 hrs from scheduled departure. \u000d\u000a============================================================\u000d\u000a Family Fare\u000d\u000a-------------------------------------------------------------------------------------\u000d\u000aApplicable on a minimum of 4 pax booked on the same PNR.\u000d\u000aNot available on international sectors.\u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: 15 kg for Domestic sectors.\u000d\u000aHand Baggage Allowance: 7 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India: Rs 2,250 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if changed within 2 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India: Rs 3,000 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if cancelled within 2 hrs from scheduled departure. \u000d\u000a============================================================\u000d\u000a Flexi Fare\u000d\u000a Allows unlimited changes till 2 hours before the scheduled departure for domestic sectors and 4 hours before the scheduled departure for international sectors. Fare difference applies.\u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: 15 kg for Domestic sectors and 20 kg for International Sectors except 30 Kg for Dubai, Muscat, Sharjah, Doha and Singapore.\u000d\u000aHand Baggage Allowance: 7 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India & Nepal Travel: No Change Fee: if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if changed within 2 hrs from scheduled departure.\u000d\u000aInternational except Nepal: No Change Fee: if changed at least 4hrs before the scheduled departure. No-show charges will be levied if changed within 4 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India & Nepal Travel: Rs 3,000 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if cancelled within 2 hrs from scheduled departure. \u000d\u000aInternational except Nepal: Rs 3,500 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 4hrs before the scheduled departure. No-show charges will be levied if cancelled within 4 hrs from scheduled departure. \u000d\u000a============================================================\u000d\u000a Lite Fare\u000d\u000a-------------------------------------------------------------------------------------\u000d\u000aApplicable for travel without a check-in baggage. Applicable for travel beyond 15 days from the booking date.\u000d\u000aFor a multi-leg\/return journey, Lite Fare will be available only if it is available and selected on each of the individual legs.\u000d\u000aNot available on international sectors.\u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: No check-in baggage allowed.\u000d\u000aHand Baggage Allowance: 7 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India: Rs 2,250 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if changed within 2 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India: Rs 3,000 or 100% of airfare charge (whichever is lower) per passenger per segment will be levied if changed at least 2 hrs before the scheduled departure. No-show charges will be levied if cancelled within 2 hrs from scheduled departure. \u000d\u000a============================================================\u000d\u000a Corporate \/ Coupon Fare\u000d\u000a-------------------------------------------------------------------------------------\u000d\u000aAvailable for contracted Corporate Customers only. Allows unlimited flexibility to change \/ cancel, extra hand-baggage allowance, complimentary seat and meal (1 food item & 1 beverage). \u000d\u000aBaggage Conditions:\u000d\u000aCheck-in Baggage Allowance: 15 kg for Domestic sectors and 20 kg for International Sectors except 30 Kg for Dubai, Muscat, Sharjah, Doha and Singapore.\u000d\u000aHand Baggage Allowance: 10 Kg.\u000d\u000aChange Fee:\u000d\u000aDomestic India & Nepal Travel: No Change Fee: if changed at least 1 hr before the scheduled departure. No-show charges will be levied if changed within 1 hrs from scheduled departure. \u000d\u000aInternational except Nepal: No Change Fee: if changed at least 4 hr before the scheduled departure. No-show charges will be levied if changed within 4 hrs from scheduled departure. \u000d\u000aCancellation Fee:\u000d\u000aDomestic India & Nepal Travel: No Cancellation Fee: if cancelled at least 1 hr before the scheduled departure. No-show charges will be levied if cancelled within 1 hrs from scheduled departure. \u000d\u000aInternational except Nepal: No Cancellation Fee: if changed at least 4 hrs before the scheduled departure. No-show charges will be levied if cancelled within 4 hrs from scheduled departure. \u000d ","FareRestriction":null}],"Status":5,"InvoiceAmount":2843.00,"InvoiceNo":"DW\/1819\/18535","InvoiceStatus":3,"InvoiceCreatedOn":"2018-07-23T13:50:04","Remarks":""},"TicketStatus":1}}}';
// $arrFlightSearchResponse = [];
// $arrFlightSearchResponse['Response'] = array(
// 'Error'=>array(
// 'ErrorCode'=>0,'ErrorMessage'=>''
// ),
// 'ResponseStatus'=>1,
// 'TraceId'=>'',
// 'Response'=>array(
// 'PNR'=>'',
// 'BookingId'=>'',
// 'Status'=>1,
// 'FlightItinerary'=>array(
// 'TripIndicator'=>1,
// 'BookingId'=>'',
// 'PNR'=>'',
// 'IsDomestic'=>true,
// 'Source'=>6,
// 'Origin'=>'GOI',
// 'Destination'=>'BOM',
// 'AirlineCode'=>'',
// 'NonRefundable'=>true,
// 'Fare'=>array(
// 'Currency'=>'INR',
// 'BaseFare'=>'3012',
// 'Tax'=>'',
// 'OtherCharges'=>'',
// 'PublishedFare'=>'3012',
// 'CommissionEarned'=>'10',
// 'OfferedFare'=>'3012',
// )
// )
// )
// );
// echo "<pre>";echo json_encode($arrFlightSearchResponse);
// echo "<pre>";print_r($dfdfdfd);
//echo "<pre>";print_r($arrBookingResponse);die('dddddd');
// $arra = '';
if ($tripType == 2 && !$IsInterNational) {
if ($IsQuickProposal == 0) {
$arrDepartBookingResponse = json_decode($arrBookingResponse[0], true);
$arrReturnBookingResponse = json_decode($arrBookingResponse[1], true);
} else {
$arrDepartBookingResponse = $arrBookingResponse[0];
$arrReturnBookingResponse = $arrBookingResponse[1];
}
//echo '<pre>';print_r($arrReturnBookingResponse['Response']['Response']['BookingId']);echo '</pre>';
//echo '<pre>';print_r($arrBookingResponse[1]);echo '</pre>';die;
$DepartErrorMessageAPI = isset($arrDepartBookingResponse['Response']['Error']['ErrorMessage']) ? $arrDepartBookingResponse['Response']['Error']['ErrorMessage'] : '';
$this->view->ErrorMessage = !empty($DepartErrorMessageAPI) ? $DepartErrorMessageAPI : '';
//(!empty($this->getRequest()->getParam('error_Message'))?$this->getRequest()->getParam('error_Message'):'')
$this->view->PNR = $PNR = isset($arrDepartBookingResponse['Response']['Response']['PNR']) ? $arrDepartBookingResponse['Response']['Response']['PNR'] : '';
$this->view->BookingId = $BookingId = isset($arrDepartBookingResponse['Response']['Response']['BookingId']) ? $arrDepartBookingResponse['Response']['Response']['BookingId'] : '';
$this->view->IsLCC = $IsLCC = isset($arrDepartBookingResponse['Response']['Response']['FlightItinerary']['IsLCC']) ? $arrDepartBookingResponse['Response']['Response']['FlightItinerary']['IsLCC'] : '';
$ReturnErrorMessageAPI = isset($arrReturnBookingResponse['Response']['Error']['ErrorMessage']) ? $arrReturnBookingResponse['Response']['Error']['ErrorMessage'] : '';
$this->view->ReturnErrorMessage = !empty($ReturnErrorMessageAPI) ? $ReturnErrorMessageAPI : '';
$this->view->ReturnPNR = $PNR = $ReturnPNR = isset($arrReturnBookingResponse['Response']['Response']['PNR']) ? $arrReturnBookingResponse['Response']['Response']['PNR'] : '';
$this->view->ReturnBookingId = $ReturnBookingId = $BookingId = isset($arrReturnBookingResponse['Response']['Response']['BookingId']) ? $arrReturnBookingResponse['Response']['Response']['BookingId'] : '';
$this->view->IsLCCReturn = $IsLCCReturn = isset($arrReturnBookingResponse['Response']['Response']['FlightItinerary']['IsLCC']) ? $arrReturnBookingResponse['Response']['Response']['FlightItinerary']['IsLCC'] : '';
//echo $arrTravelPlanAir[1]['XRefPNR'];
// if(!$IsLCC && (isset($arrTravelPlanAir[0]['XRefPNR']) && $arrTravelPlanAir[0]['XRefPNR'] == "")){
// if(isset($arrDepartBookingResponse) && !empty($arrDepartBookingResponse)){
// //if(!empty($DepartErrorMessageAPI)){die('dd');
// $generateNonLccTicketCustom = $this->generateNonLccTicketCustomAction($TraceId,$PNR,$BookingId,$intTPSysId,0,0);
// $res = json_decode($generateNonLccTicketCustom,true);
// $this->view->msg = $res['msg'];
// //}
// }
// }
// if(!$IsLCCReturn && (isset($arrTravelPlanAir[1]['XRefPNR']) && $arrTravelPlanAir[1]['XRefPNR'] == "")){
// if(isset($arrReturnBookingResponse) && !empty($arrReturnBookingResponse)){
// //if(!empty($ReturnErrorMessageAPI)){
// $generateNonLccTicketCustom1 = $this->generateNonLccTicketCustomAction($TraceId,$ReturnPNR,$ReturnBookingId,$intTPSysId,1,1);
// $res1 = json_decode($generateNonLccTicketCustom1,true);
// $this->view->Returnmsg = $res1['msg'];
// //}
// }
// }
//die('ddd');
} else if ($tripType == 2 && $IsInterNational) {
$arrDepartBookingResponse = $arrBookingResponse;
$DepartErrorMessageAPI = isset($arrDepartBookingResponse['Response']['Error']['ErrorMessage']) ? $arrDepartBookingResponse['Response']['Error']['ErrorMessage'] : '';
$this->view->ErrorMessage = !empty($DepartErrorMessageAPI) ? $DepartErrorMessageAPI : '';
//(!empty($this->getRequest()->getParam('error_Message'))?$this->getRequest()->getParam('error_Message'):'')
$this->view->PNR = $PNR = isset($arrDepartBookingResponse['Response']['Response']['PNR']) ? $arrDepartBookingResponse['Response']['Response']['PNR'] : '';
$this->view->BookingId = $BookingId = isset($arrDepartBookingResponse['Response']['Response']['BookingId']) ? $arrDepartBookingResponse['Response']['Response']['BookingId'] : '';
} else {
$ErrorMessageAPI = isset($arrBookingResponse['Response']['Error']['ErrorMessage']) ? $arrBookingResponse['Response']['Error']['ErrorMessage'] : '';
$this->view->ErrorMessage = !empty($ErrorMessageAPI) ? $ErrorMessageAPI : (!empty($this->getRequest()->getParam('error_Message')) ? $this->getRequest()->getParam('error_Message') : '');
$this->view->PNR = $PNR = isset($arrBookingResponse['Response']['Response']['PNR']) ? $arrBookingResponse['Response']['Response']['PNR'] : '';
$this->view->BookingId = $BookingId = isset($arrBookingResponse['Response']['Response']['BookingId']) ? $arrBookingResponse['Response']['Response']['BookingId'] : '';
$this->view->IsLCC = $IsLCC = isset($arrBookingResponse['Response']['Response']['FlightItinerary']['IsLCC']) ? $arrBookingResponse['Response']['Response']['FlightItinerary']['IsLCC'] : '';
if (!$IsLCC && (isset($arrTravelPlanAir[0]['XRefPNR']) && $arrTravelPlanAir[0]['XRefPNR'] == "") && $IsQuickProposal == 0) {
if (isset($arrBookingResponse) && !empty($arrBookingResponse)) {
//echo "<pre>";print_r($arrUrlData);
$generateNonLccTicketCustom = $this->generateNonLccTicketCustomAction($TraceId, $PNR, $BookingId, $intTPSysId, 0, 0, $arrIntTpAirId);
$res = json_decode($generateNonLccTicketCustom, true);
$this->view->msg = $res['msg'];
}
}
}
/* API Booking Response */
// echo "<pre>";
// unset($arrBookingResponse[0]['BookingResponse']);
// print_r($arrBookingResponse);
// exit;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
// echo "<pre>";print_r($sessionFlightProposalParams->params);exit;
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$this->view->MasterTPSysId = $MasterTPSysId = trim($sessionFlightProposalParams->params['MasterTPSysId']);
//echo "<pre>"; print_r($arrUrlData);exit;
$this->view->TPSysId = $TPSysId = trim($arrUrlData['intTPSysId']);
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrProposalDetails = $objFlightProposal->getFlightProposalDetails("", $TPSysId);
$this->view->arrProposalDetails = $arrProposalDetails;
$AirInvenSysId = trim($arrUrlData['intOutBoundId']);
$ReturnAirInvenSysId = isset($arrUrlData['intInBoundId']) ? trim($arrUrlData['intInBoundId']) : 0;
/* Selected Flight Fare Details */
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
$this->view->arrSelectedFlightFareDetails = $arrSelectedFlightFareDetails;
if (!empty($ReturnAirInvenSysId)) {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
} else {
$objFlight->strConditionNew = " InvnItemSysId IN ('" . $AirInvenSysId . "') ";
}
$getSlectedFlightBookFareDetails = $objFlight->getSlectedFlightBookFareDetails();
$this->view->getSlectedFlightBookFareDetails = $getSlectedFlightBookFareDetails;
//echo "<pre>";print_r($arrSelectedFlightFareDetails);
if (!empty($getSlectedFlightBookFareDetails)) {
$intPublishFareNew = 0;
foreach ($getSlectedFlightBookFareDetails as $Val) {
$intPublishFareNew += !empty($Val['TotalCost']) ? $Val['TotalCost'] : '0';
}
}
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($TPSysId);
$this->view->arrAgencyDetails = $arrAgencyDetails;
$objAgency = new Travel_Model_TblAgency();
$objPkg = new Travel_Model_TblPackage();
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$arrAgencyDetails = $objAgency->getAgencyDataById($AgencySysId);
$AgencyBaseCurrency = $arrAgencyDetails['TrxCurrency'];
$packageSharedCurrency = isset($arrSelectedFlightFareDetails[0]['Currency']) ? $arrSelectedFlightFareDetails[0]['Currency'] : '1';
$exchangerate = $objPkg->currencyExchangeRate($packageSharedCurrency, $AgencyBaseCurrency);
$intPublishFareNew = $packageBaseCurrencyNetPrice = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->convertRatetoBaseCurrency($intPublishFareNew, $exchangerate);
$this->view->intPublishFareNew = $intPublishFareNew;
$this->view->Symbol = !empty($arrAgencyDetails['Symbol']) ? $arrAgencyDetails['Symbol'] : '';
/* Selected Flight Fare Details Ends */
/* Selected Flight Details */
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $AirInvenSysId . "','" . $ReturnAirInvenSysId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
//echo "<pre>";print_r($arrSelectedFlightDetails);exit;
$this->view->arrSelectedFlightDetails = $arrSelectedFlightDetails;
/* Selected Flight Details */
/* Proposal Customer Related Details */
$ARR_SALUTION = unserialize(ARR_SALUTION);
$ARR_CUSTOMER_RELATION = unserialize(ARR_CUSTOMER_RELATION);
$this->view->ARR_CUSTOMER_RELATION = $ARR_CUSTOMER_RELATION;
$this->view->ARR_SALUTION = $ARR_SALUTION;
//$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$this->view->CustomerSysId = $CustomerSysId = $sessionFlightProposalParams->params['CustomerSysId'];
//echo "<pre>";print_r($sessionFlightProposalParams->params);
if (!empty($CustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($CustomerSysId, $TPSysId);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
if (isset($CustomerSysId) && !empty($CustomerSysId) && $CustomerSysId > 0) {
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$customerDetails = $this->_crmcustomerObj->GetAgencyCustomerById($CustomerSysId);
$this->view->customerDetails = $customerDetails;
}
}
/* Proposal Customer Related Details Ends */
if (!empty($MasterTPSysId)) {
$objFlightProposal = new Travel_Model_TblFlightProposal();
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails($MasterTPSysId);
//echo "<pre>";print_r($arrFlightDetails);
$this->view->arrAirDetails = $arrFlightDetails;
$SourceAirportCode = trim($arrFlightDetails[0]['SourceAirportCode']);
if (!empty($SourceAirportCode)) {
$arrSourceAirport = $objFlightProposal->getAirPortByAirportCode($SourceAirportCode);
}
$this->view->SourceAirport = isset($arrSourceAirport['label']) ? $arrSourceAirport['label'] : '';
$DestAirportCode = trim($arrFlightDetails[0]['DestAirportCode']);
if (!empty($DestAirportCode)) {
$arrDestinationAirport = $objFlightProposal->getAirPortByAirportCode($DestAirportCode);
}
$this->view->DestinationAirport = isset($arrDestinationAirport['label']) ? $arrDestinationAirport['label'] : '';
}
}
public function memberguestdetailAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
if ($this->_request->isXmlHttpRequest()) {
$mobilNo = trim($this->getRequest()->getParam('mobilNo'));
$email_id = trim($this->getRequest()->getParam('email_id'));
$AgencySysId = trim($this->getRequest()->getParam('AgencySysId'));
// echo "<pre>";
// print_r($mobilNo);
$intMemberSysIdRequest = trim($this->getRequest()->getParam('intMemberSysId'));
if (!empty($mobilNo)) {
//check customer agency
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$IsAgencyCusTExist = $this->_crmcustomerObj->ChkMobileWithResponseUpdate($mobilNo, $AgencySysId, null, $email_id);
$result = array();
if (!empty($IsAgencyCusTExist) ) {
$result['MEMBERS'] = $this->_crmcustomerObj->GetCustomerMembersById($AgencySysId, $IsAgencyCusTExist['CustomerSysId']);
$result['SELF'] = $IsAgencyCusTExist;
$resultNew = array_values(array_merge([$IsAgencyCusTExist], $this->_crmcustomerObj->GetCustomerMembersById($AgencySysId, $IsAgencyCusTExist['CustomerSysId'])));
} else {
$resultNew = [$IsAgencyCusTExist];
}
$responseArray = [];
if ($resultNew) {
foreach ($resultNew as $key => $val) {
$DOB_ = (array)$val['DOB'];
$PassportExpiry_ = (array)$val['PassportExpiry'];
$PassportIssue_ = (array)$val['PassportIssue'];
if (!empty($DOB_['date']) && date('Y-m-d', strtotime($DOB_['date'])) != '1900-01-01') {
$DOB = ($DOB_['date'] != '0000-00-00') ? date('d/m/Y', strtotime($DOB_['date'])) : '';
} else {
$DOB = '';
}
if (!empty($PassportExpiry_['date']) && date('Y-m-d', strtotime($PassportExpiry_['date'])) != '1900-01-01') {
$PassportExpiry = ($PassportExpiry_['date'] != '0000-00-00') ? date('d/m/Y', strtotime($PassportExpiry_['date'])) : '';
} else {
$PassportExpiry = '';
}
if (!empty($PassportIssue_['date']) && date('Y-m-d', strtotime($PassportIssue_['date'])) != '1900-01-01') {
$PassportIssue = ($PassportIssue_['date'] != '0000-00-00') ? date('d/m/Y', strtotime($PassportIssue_['date'])) : '';
} else {
$PassportIssue = '';
}
$val['DOB'] = $DOB;
$val['PassportExpiry'] = $PassportExpiry;
$val['PassportIssue'] = $PassportIssue;
if ($key == 0) {
$val['MemberSysId'] = $val['CustomerSysId'];
$responseArray['_' . $val['CustomerSysId']] = $val;
} else {
$responseArray['_' . $val['MemberSysId']] = $val;
}
}
}
$response = '';
if (!empty($result) ) {
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$html->assign('type', 'customerMembersList');
$html->assign('data', $result);
$bodyText = $html->render('ajax-html.phtml');
$response = array('status' => 'success', 'data' => $bodyText, 'resultNew' => $resultNew, 'responseArray' => $responseArray, 'CustomerSysId' => $result['SELF']['CustomerSysId'], 'EmailId' => trim($result['SELF']['EmailId']), 'Title' => trim($result['SELF']['Title']), 'FirstName' => trim($result['SELF']['FirstName']), 'LastName' => trim($result['SELF']['LastName']), 'DOB' => trim($result['SELF']['DOB']->format('d-M-y')), 'PassportExpiry' => trim($result['SELF']['PassportExpiry']->format('d-M-y')), 'PassportNo' => trim($result['SELF']['PassportNo']), 'Address' => trim($result['SELF']['Address']), 'Contacts' => trim($result['SELF']['Contacts']), 'CitySysId' => trim(@$result['SELF']['CitySysId']), 'cityTitle' => trim(@$result['SELF']['cityTitle']), 'CountrySysId' => trim(@$result['SELF']['CountrySysId']));
} else {
$response = array('status' => 'failed', 'msg' => 'No Record Availbale!');
}
echo json_encode($response);
exit;
}
}
}
// public function memberguestdetailAction()
// {
// $this->_helper->viewRenderer->setNoRender(true);
// $this->_helper->layout->disableLayout();
// if ($this->_request->isXmlHttpRequest()) {
// $getData = $this->getRequest()->getParams();
// $AgencySysId = trim($this->getRequest()->getParam('AgencySysId'));
// $mobilNo = trim($this->getRequest()->getParam('mobilNo'));
// $intMemberSysIdRequest = trim($this->getRequest()->getParam('intMemberSysId'));
// $email_id = trim($this->getRequest()->getParam('email_id'));
// // echo '<pre>';
// // print_r($getData);
// // die;
// if (!empty($mobilNo)) {
// //$objGest = new Travel_Model_Tbltbbcuser();
// //$result = $objGest->getCustomerAndMembersDetails($mobilNo);
// //check customer agency added by Er Amit Kumar Dubey on 2 march 2017 at 4:50 PM
// $this->_crmcustomerObj = new Travel_Model_CRM_Customer();
// $IsAgencyCusTExist = $this->_crmcustomerObj->ChkMobileWithResponseUpdate($mobilNo, $AgencySysId);
// $result = array();
// if (!empty($IsAgencyCusTExist) > 0) {
// $result['MEMBERS'] = $this->_crmcustomerObj->GetCustomerMembersById($AgencySysId, $IsAgencyCusTExist['CustomerSysId']);
// $result['SELF'] = $IsAgencyCusTExist;
// }
// //print_r($IsAgencyCusTExist);die;
// $response = '';
// if (!empty($result) > 0) {
// $html = new Zend_View();
// $html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
// $html->assign('type', 'customerMembersList');
// $html->assign('data', $result);
// $bodyText = $html->render('ajax-html.phtml');
// $response = array('status' => 'success', 'data' => $bodyText, 'CustomerSysId' => $result['SELF']['CustomerSysId'], 'EmailId' => trim($result['SELF']['EmailId']), 'Title' => trim($result['SELF']['Title']), 'FirstName' => trim($result['SELF']['FirstName']), 'LastName' => trim($result['SELF']['LastName']), 'DOB' => trim($result['SELF']['DOB']->format('d-M-y')), 'Address' => trim($result['SELF']['Address']), 'Contacts' => trim($result['SELF']['Contacts']), 'CitySysId' => trim(@$result['SELF']['CitySysId']), 'cityTitle' => trim(@$result['SELF']['cityTitle']));
// } else {
// $response = array('status' => 'failed', 'msg' => 'No Record Availbale!');
// }
// echo json_encode($response);
// exit;
// }
// }
// }
public function proposalFareQuoteDetailsAction($data = array())
{
$intAirInvenSysId = $data['AirInvenSysId'];
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$route = $sessionFlightProposalParams->params['route'];
$intTatalPaxCTForMarkUp = $intAdultCount + $intChildCount + $intInfantCount;
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
if ($IsInterNational) {
$intCountryCode = "INTERNATIONAL";
} else {
$intCountryCode = "IN";
}
$objFlight = new Travel_Model_TblFlight();
if (!empty($data['apiTraceId']) && !empty($data['ApiResultIndex'])) {
$arrData = array(
"apiTraceId" => $data['apiTraceId'],
"ApiResultIndex" => $data['ApiResultIndex']
);
$response = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->fareQuoteDetails($arrData);
//echo "<pre>";print_r($response);exit;
$arrIsPriceChanged = '';
if ($response['Response']['ResponseStatus'] == '1') {
$arrIsPriceChanged = $response['Response']['IsPriceChanged'];
$result = $response['Response']['Results'];
$Currency = $result['Fare']['Currency'];
$currencySysId = !empty($arrCurrencyList[$Currency]) ? $arrCurrencyList[$Currency] : '1';
$BaseFare = $result['Fare']['BaseFare'];
$Tax = $result['Fare']['Tax'];
$YQTax = $result['Fare']['YQTax'];
$AdditionalTxnFeeOfrd = $result['Fare']['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $result['Fare']['AdditionalTxnFeePub'];
$OtherCharges = $result['Fare']['OtherCharges'];
$Discount = $result['Fare']['Discount'];
$PublishedFare = $result['Fare']['PublishedFare'];
$CommissionEarned = $result['Fare']['CommissionEarned'];
$PLBEarned = $result['Fare']['PLBEarned'];
$IncentiveEarned = $result['Fare']['IncentiveEarned'];
$OfferedFare = $result['Fare']['OfferedFare'];
$TdsOnCommission = $result['Fare']['TdsOnCommission'];
$TdsOnPLB = $result['Fare']['TdsOnPLB'];
$TdsOnIncentive = $result['Fare']['TdsOnIncentive'];
$ServiceFee = $result['Fare']['ServiceFee'];
$arrAllCommissions = array(
'intCommissionEarned' => $CommissionEarned,
'intPLBEarned' => $PLBEarned,
'intIncentiveEarned' => $IncentiveEarned
);
$arrPriceAndMarkUps = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->getApiPriceWithMarkupAndServiceTax($arrAllCommissions, $OfferedFare, $intCountryCode, $AgencySysId);
//echo "<pre>";print_r($arrPriceAndMarkUps);
$intOfferedFare = $arrPriceAndMarkUps['intOfferedFare'];
if ($IsInterNational) {
$intGTXMarkUp = (($arrPriceAndMarkUps['intGTXMarkUp'] * $intTatalPaxCTForMarkUp) * $route);
$intSTaxOnGTXMarkUp = (($arrPriceAndMarkUps['intSTaxOnGTXMarkUp'] * $intTatalPaxCTForMarkUp) * $route);
$intAgencyFixMarkUp = (($arrPriceAndMarkUps['intAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp) * $route);
$intSTaxOnAgencyFixMarkUp = (($arrPriceAndMarkUps['intSTaxOnAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp) * $route);
} else {
$intGTXMarkUp = ($arrPriceAndMarkUps['intGTXMarkUp'] * $intTatalPaxCTForMarkUp);
$intSTaxOnGTXMarkUp = ($arrPriceAndMarkUps['intSTaxOnGTXMarkUp'] * $intTatalPaxCTForMarkUp);
$intAgencyFixMarkUp = ($arrPriceAndMarkUps['intAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp);
$intSTaxOnAgencyFixMarkUp = ($arrPriceAndMarkUps['intSTaxOnAgencyFixMarkUp'] * $intTatalPaxCTForMarkUp);
}
$intCommisionEarnedForAgency = $arrPriceAndMarkUps['intCommisionEarnedForAgency'];
$intPLBEarnedForAgency = $arrPriceAndMarkUps['intPLBEarnedForAgency'];
$intIncentiveEarnedForAgency = $arrPriceAndMarkUps['intIncentiveEarnedForAgency'];
$intTotalEarningsForAgency = $arrPriceAndMarkUps['intTotalEarningsForAgency'] + $intAgencyFixMarkUp + $intSTaxOnAgencyFixMarkUp;
$intTotalEarningsForAgency22 = $intCommisionEarnedForAgency + $intPLBEarnedForAgency + $intIncentiveEarnedForAgency + $intAgencyFixMarkUp;
$intPublishFare = $intOfferedFare + $intGTXMarkUp + $intAgencyFixMarkUp + $intSTaxOnAgencyFixMarkUp + $intCommisionEarnedForAgency + $intPLBEarnedForAgency + $intIncentiveEarnedForAgency;
//$intTotalUpdatedFare = $intPublishFare;
$intGSTOnAgencyCommisionEarned = $arrPriceAndMarkUps['intGSTOnAgencyCommisionEarned'];
$intGSTOnAgencyPLBEarned = $arrPriceAndMarkUps['intGSTOnAgencyPLBEarned'];
$intGSTOnAgencyIncentiveEarned = $arrPriceAndMarkUps['intGSTOnAgencyIncentiveEarned'];
$intGSTOnTotalEarnings = $intGSTOnAgencyCommisionEarned + $intGSTOnAgencyPLBEarned + $intGSTOnAgencyIncentiveEarned + $intSTaxOnAgencyFixMarkUp;
$intTotalUpdatedFare = $intOfferedFare + $intGTXMarkUp + $intTotalEarningsForAgency22 + $intGSTOnTotalEarnings;
$arrFairRules = array(
"Currency" => $currencySysId,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub,
"OtherCharges" => $OtherCharges,
"Discount" => $Discount,
"ServiceFee" => $ServiceFee,
"PublishedFare" => $PublishedFare,
"CommissionEarned" => $CommissionEarned,
"PLBEarned" => $PLBEarned,
"IncentiveEarned" => $IncentiveEarned,
"OfferedFare" => $OfferedFare,
"TdsOnCommission" => $TdsOnCommission,
"TdsOnPLB" => $TdsOnPLB,
"TdsOnIncentive" => $TdsOnIncentive
);
//echo $intGSTOnTotalEarnings.'=='.$intPublishFarerrrrrrr;
//echo "<pre>";print_r($arrFairRules); exit;
$objFlight->updateFlightFareDetails($arrFairRules, $intAirInvenSysId);
//echo "<pre>";print_r($arrFairRules);//exit;
if (!empty($result['FareBreakdown'])) {
foreach ($result['FareBreakdown'] as $fareBreakdown) {
$Currency = $fareBreakdown['Currency'];
$PassengerType = $fareBreakdown['PassengerType'];
$PassengerCount = $fareBreakdown['PassengerCount'];
$BaseFare = $fareBreakdown['BaseFare'];
$Tax = $fareBreakdown['Tax'];
$YQTax = $fareBreakdown['YQTax'];
$AdditionalTxnFeeOfrd = $fareBreakdown['AdditionalTxnFeeOfrd'];
$AdditionalTxnFeePub = $fareBreakdown['AdditionalTxnFeePub'];
$arrFareBreakdown = array(
//"TBQAirInvenAPISysId" => $intAirInvenSysId,
"Currency" => $currencySysId,
"PassengerType" => $PassengerType,
"PassengerCount" => $PassengerCount,
"BaseFare" => $BaseFare,
"Tax" => $Tax,
"YQTax" => $YQTax,
"AdditionalTxnFeeOfrd" => $AdditionalTxnFeeOfrd,
"AdditionalTxnFeePub" => $AdditionalTxnFeePub
);
$objFlight->updateFlightFareBreakdown($arrFareBreakdown, $intAirInvenSysId);
//echo "<pre>";print_r($arrFareBreakdown);exit;
}
}
$arrResponseStatus['arrIsPriceChanged'] = $arrIsPriceChanged;
$arrResponseStatus['ErrorCode'] = $response['Response']['Error']['ErrorCode'];
$arrResponseStatus['ErrorMessage'] = $response['Response']['Error']['ErrorMessage'];
$arrResponseStatus['UpdatedFare'] = !empty($intTotalUpdatedFare) ? $intTotalUpdatedFare : 0;
$arrResponseStatus['intOfferedFare'] = !empty($intOfferedFare) ? $intOfferedFare : 0;
$arrResponseStatus['FareQuoteComputed'] = true;
} else {
$arrResponseStatus['arrIsPriceChanged'] = $arrIsPriceChanged;
$arrResponseStatus['ErrorCode'] = $response['Response']['Error']['ErrorCode'];
$arrResponseStatus['ErrorMessage'] = $response['Response']['Error']['ErrorMessage'];
$arrResponseStatus['UpdatedFare'] = !empty($intTotalUpdatedFare) ? $intTotalUpdatedFare : 0;
$arrResponseStatus['intOfferedFare'] = !empty($intOfferedFare) ? $intOfferedFare : 0;
$arrResponseStatus['FareQuoteComputed'] = false;
}
}
return $arrResponseStatus;
}
public function proposalCustomerInvoiceAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$objFlight = new Travel_Model_TblFlight();
$arrCustomerInvoiceData = $objFlight->customerInvoiceData($intTPSysId, $AgencySysId);
//echo "<pre>";print_r($arrCustomerInvoiceData);echo "</pre>";exit;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function viewBookingVoucherAction()
{
$this->_helper->layout->disableLayout();
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$intTPSysId = base64_decode($this->getRequest()->getParam("id"));
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$objFlight = new Travel_Model_TblFlight();
$arrCustomerInvoiceData = $objFlight->customerInvoiceData($intTPSysId, $AgencySysId);
// echo "<pre>";print_r($arrCustomerInvoiceData);echo "</pre>";exit;
$this->view->arrCustomerInvoiceData = $arrCustomerInvoiceData;
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
//echo "<pre>";print_r($arrTrevllerDetails);
$this->view->arrTrevllerDetails = $arrTrevllerDetails;
}
}
public function bookRoundTripFlightsAction($LoggedinUserEmailId)
{
$strUrlData = $this->getRequest()->getParam('strUrlData');
$arrUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataDecode($strUrlData);
$intOutBoundId = !empty($arrUrlData['AirInvenSysId']) ? $arrUrlData['AirInvenSysId'] : 0;
$intInBoundId = !empty($arrUrlData['ReturnAirInvenSysId']) ? $arrUrlData['ReturnAirInvenSysId'] : 0;
$intCustomerSysId = !empty($arrUrlData['CustomerSysId']) ? $arrUrlData['CustomerSysId'] : 0;
$intTPSysId = !empty($arrUrlData['TPSysId']) ? $arrUrlData['TPSysId'] : 0;
$MasterTPSysId = !empty($arrUrlData['MasterTPSysId']) ? $arrUrlData['MasterTPSysId'] : 0;
// $arrIntTpAirId = $arrUrlData['arrIntTpAirId'];
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$travelPlanDetais = $this->_crmcusttravelplan->CheckCustomerWithLeadId($intTPSysId);
// Getting travel plan details Ends...
$AgencySysId = !empty($travelPlanDetais[0]['AgencySysId']) ? $travelPlanDetais[0]['AgencySysId'] : 0;
$AgentSysId = !empty($travelPlanDetais[0]['AgentSysId']) ? $travelPlanDetais[0]['AgentSysId'] : 0;
//echo "<pre>";print_r($travelPlanDetais);
$objFlight = new Travel_Model_TblFlight();
$objFlight->strCondition = " TBQAirInvenSysId IN ('" . $intOutBoundId . "','" . $intInBoundId . "') ";
$arrSelectedFlightDetails = $objFlight->getSelectedFlightDetails();
//echo "<pre>";print_r($arrSelectedFlightDetails);exit;
if (!empty($arrSelectedFlightDetails) ) {
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $intTPSysId);
}
$request = [];
$i = 0;
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
foreach ($arrSelectedFlightDetails as $result) {
$AirInvenSysId = trim($result['AirInvenSysId']);
$apiTraceId = $sessionFlightProposalParams->params['TraceId'];
$ApiResultIndex = $sessionFlightProposalParams->params['ResultIndex'][$i];
$SourceAirportCode = trim($result['SourceAirportCode']);
$DestAirportCode = trim($result['DestAirportCode']);
$IsLCC = trim($result['IsLCC']);
$JourneyType = trim($result['JourneyType']);
$TripType = trim($result['TripType']);
$objFlight->strCondition = " TBQAirInvenAPISysId IN ('" . $AirInvenSysId . "') ";
$arrSelectedFlightFareDetails = $objFlight->getSelectedFlightFareDetails();
$crmcustomerObj = new Travel_Model_CRM_Customer();
$getAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$data = [
"TraceId" => $apiTraceId,
"ResultIndex" => $ApiResultIndex,
"Origin" => $SourceAirportCode,
"Destination" => $DestAirportCode,
"JourneyType" => $JourneyType,
"TripType" => $TripType,
"IsLCC" => $IsLCC,
"arrFairDetails" => $arrSelectedFlightFareDetails,
"arrTrevllerDetails" => $arrTrevllerDetails,
"agencyEmailId" => $LoggedinUserEmailId,
"getAgencyDetail" => $getAgencyDetail
];
//echo "<pre>";print_r($data);exit;
$requestData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->generateRoundTripRequest($data, $IsLCC);
if ($IsLCC) {
$request[$i]['url'] = FLIGHT_API_TICKET_URL;
} else {
$request[$i]['url'] = FLIGHT_API_BOOKING_URL;
}
$request[$i]['post'] = $requestData;
$i++;
}
$response = $this->multiRequest($request);
} else {
// Error
}
return $response;
}
public function multiRequest($data, $options = array())
{
// array of curl handles
$curly = array();
// data to be returned
$result = array();
// multi handle
$mh = curl_multi_init();
// loop through $data and create curl handles
// then add them to the multi-handle
foreach ($data as $id => $d) {
$curly[$id] = curl_init();
$url = (is_array($d) && !empty($d['url'])) ? $d['url'] : $d;
curl_setopt($curly[$id], CURLOPT_ENCODING, "gzip");
curl_setopt($curly[$id], CURLOPT_URL, $url);
curl_setopt($curly[$id], CURLOPT_HEADER, 0);
curl_setopt($curly[$id], CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curly[$id], CURLOPT_RETURNTRANSFER, 1);
// post?
if (is_array($d)) {
if (!empty($d['post'])) {
$data_stringh = json_encode($d['post']);
curl_setopt($curly[$id], CURLOPT_POST, true);
curl_setopt($curly[$id], CURLOPT_POSTFIELDS, $data_stringh);
curl_setopt($curly[$id], CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_stringh)
));
}
}
if (!empty($options)) {
curl_setopt_array($curly[$id], $options);
}
curl_multi_add_handle($mh, $curly[$id]);
}
// execute the handles
$running = null;
do {
curl_multi_exec($mh, $running);
} while ($running > 0);
// get content and remove handles
foreach ($curly as $id => $c) {
$result[$id] = curl_multi_getcontent($c);
curl_multi_remove_handle($mh, $c);
}
// all done
curl_multi_close($mh);
return $result;
}
public function generateNonLccTicketCustomAction($TraceId, $PNR, $BookingId, $TPSysId, $TicketFor, $IsReturn, $arrIntTpAirId)
{
//$this->_helper->viewRenderer->setNoRender(true);
//$this->_helper->layout->disableLayout();
// echo $TraceId.'<br>';
// echo $PNR.'<br>';
// echo $BookingId.'<br>';
// echo $TPSysId.'<br>';
// echo $TicketFor.'<br>';
// echo $IsReturn.'<br>';
//if($this->_request->isXmlHttpRequest()) {
// $TraceId = $this->getRequest()->getParam('TraceId');
// $BookingId = $this->getRequest()->getParam('BookingId');
// $PNR = $this->getRequest()->getParam('PNR');
// $TPSysId = $this->getRequest()->getParam('TPSysId');
// $TicketFor = $this->getRequest()->getParam('TicketFor');
// $CustomerEmailId = $this->getRequest()->getParam('CustomerEmailId');
// $IsReturn = $this->getRequest()->getParam('IsReturn');
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
//echo $sessionFlightProposalParams->params['AgencySysId'];
//exit;
$objFlight = new Travel_Model_TblFlight();
$arrTravelPlanAir = $objFlight->getTravelPlanAirData($TPSysId);
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($TPSysId, $IsReturn);
//$VersionId = isset($arrTravelPlanAir[$TicketFor]['VersionId']) ? $arrTravelPlanAir[$TicketFor]['VersionId'] : '';
$VersionId = $arrIntTpAirId;
$SourceAirportCode = isset($arrTravelPlanAir[$TicketFor]['SourceAirportCode']) ? $arrTravelPlanAir[$TicketFor]['SourceAirportCode'] : '';
$DestAirportCode = isset($arrTravelPlanAir[$TicketFor]['DestAirportCode']) ? $arrTravelPlanAir[$TicketFor]['DestAirportCode'] : '';
if (!empty($VersionId)) {
$data = [
"TraceId" => $TraceId,
"PNR" => $PNR,
"BookingId" => $BookingId
];
//echo "<pre>";print_r($data);
$strJsonResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->generateNonLccTicket($data);
$response = json_decode($strJsonResponse, true);
//echo "<pre>";print_r($response);exit;
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingId = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
$TicketStatus = isset($response['Response']['Response']['TicketStatus']) ? $response['Response']['Response']['TicketStatus'] : '';
$Passenger = isset($response['Response']['Response']['FlightItinerary']['Passenger']) ? $response['Response']['Response']['FlightItinerary']['Passenger'] : '';
$Message = isset($response['Response']['Response']['Message']) ? $response['Response']['Response']['Message'] : '';
$AirlineRefPNR = (isset($response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR']) && !empty($response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR']) ? $response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR'] : '');
// if($TicketStatus!= 1 || $TicketStatus!= 0){
// $ErrorCode = ($TicketStatus!=0)?$TicketStatus:1;
// $ErrorMessage = isset($response['Response']['Response']['Message']) ? $response['Response']['Response']['Message'] : '';
// }
//echo $ErrorMessage."=============="; exit;
if ($ErrorCode == 0 && $TicketStatus == 1) {
$data = array(
"XRefBookingId" => $strBookingId . "/" . $strTicketPNR,
"APIBookingRes" => json_encode($response),
"XRefPNR" => 1,
"IsBookingStatus" => 1,
"AirlineRefPNR" => $AirlineRefPNR
);
//echo "<pre>";print_r($data);exit;
$objFlight->updateBookingDetails($data, $VersionId); // FOR Ticket CONFIRMED
if (isset($arrTrevllerList) && !empty($arrTrevllerList)) {
foreach ($arrTrevllerList as $key => $value) {
if (isset($Passenger[$key]['Ticket'])) {
$Ticket = $Passenger[$key]['Ticket'];
$data = array(
"TicketId" => $Ticket['TicketId'],
"TicketNumber" => $Ticket['TicketNumber'],
"TicketFullJson" => json_encode($Passenger[$key])
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
}
//Mail Booking Itenary To Customer
$objFlight = new Travel_Model_TblFlight();
$arrFlightFare = $objFlight->customerInvoiceData($TPSysId);
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $TPSysId);
}
if ($arrFlightFare) {
foreach ($arrFlightFare as $k => $values) {
$AgencySysId = $values['AgencySysId'];
$AgentSysId = $values['AgentSysId'];
$intLoggedinUserEmailId = $values['PrimaryEmail'];
$arrtravellerList = $objFlight->travellerListBySabir($TPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($TPSysId, $values['AirVersionId']);
//echo '<pre>';print_r($arrCustomerInvoiceData);echo '</pre>';
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetailsNew = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $TPSysId);
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
$html->assign('arrResponse', $response);
$html->assign('arrTrevllerDetails', $arrTrevllerDetailsNew);
$html->assign('arrtravellerList', $arrtravellerList);
$html->assign('arrCustomerInvoiceData', $arrCustomerInvoiceData);
$bodyText = $html->render('mail-booking-content-new.phtml');
$subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
$customerEmailId = isset($arrTrevllerDetailsNew[0][0]['EmailId']) ? $arrTrevllerDetailsNew[0][0]['EmailId'] : '';
$emailData = array('fromEmail' => trim($intLoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $intLoggedinUserEmailId, "gaurav@hellogtx.com", "prashant@catpl.co.in"), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $TPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$this->mailSentByElastice($emailData, $arrEmailStatistics);
} catch (Exception $err) {
print_r($err, true);
}
}
}
// $html = new Zend_View();
// $html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
// $crmcustomerObj = new Travel_Model_CRM_Customer();
// $arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
// $html->assign('type', 'mailToCustomer');
// $html->assign('arrResponse', $response);
// $html->assign('arrAgencyDetail', $arrAgencyDetail);
// $html->assign('arrFlightFare', $arrFlightFare[0]);
// $bodyText = $html->render('mail-booking-content.phtml');
// $subject = "Flight Booking Itinerary From ".$SourceAirportCode." To ".$DestAirportCode;
// $emailData = array('fromEmail'=>trim($this->intLoggedinUserEmailId),'fromName'=>trim($arrAgencyDetail['DisplayName']),'subject'=> $subject,'to'=>array($CustomerEmailId,$this->intLoggedinUserEmailId,"gaurav@hellogtx.com","prashant@catpl.co.in"),'bodyHtml'=>$bodyText,'bodyText'=>'');
// try {
// // Added By Pardeep Panchal For Email Count...
// $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
// $arrEmailStatistics = array(
// "TPSysId" => $TPSysId,
// "TypeSysId" => 1, // 1 For Email 2 For SMS
// "AgencySysId" => $AgencySysId,
// "AgentSysId" => $this->intLoggedinUserId,
// "Title" => $subject,
// "Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
// "Status" => 0,
// "RefSysId" => "",
// "RefSysStatus" => "",
// "CreateDate" => date('Y-m-d H:i:s')
// );
//
// // Added By Pardeep Panchal For Email Count Ends...
// $this->mailSentByElastice($emailData,$arrEmailStatistics);
// } catch (Exception $err) {
// print_r($err, true);
// }
//Mail Booking Itenary To Customer
$response = array('success' => true, 'msg' => 'Flight is confirmed Successfully. Please check your inbox for flight Itinerary.');
return json_encode($response);
//exit;
} elseif ($ErrorCode == 0 && $TicketStatus == 0) {
$data = array(
"StatusType" => 72,
"ErrorMessage" => $Message
);
$objFlight->updateBookingStatusTravelPlan($data, $TPSysId);
$response = array('success' => false, 'msg' => $Message . "<br/>Please contact administrator for more information");
return json_encode($response);
//exit;
} else {
$data = array(
"StatusType" => 72,
"ErrorMessage" => $ErrorMessage
);
$objFlight->updateBookingStatusTravelPlan($data, $TPSysId);
$response = array('success' => false, 'msg' => $ErrorMessage . "<br/>Please contact administrator for more information");
return json_encode($response);
//exit;
}
}
// }else{
// die('Invalid Request..!');
// }
}
public function generateNonLccTicketAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
if ($this->_request->isXmlHttpRequest()) {
$TraceId = $this->getRequest()->getParam('TraceId');
$BookingId = $this->getRequest()->getParam('BookingId');
$PNR = $this->getRequest()->getParam('PNR');
$TPSysId = $this->getRequest()->getParam('TPSysId');
$TicketFor = $this->getRequest()->getParam('TicketFor');
$CustomerEmailId = $this->getRequest()->getParam('CustomerEmailId');
$IsReturn = $this->getRequest()->getParam('IsReturn');
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
//echo $sessionFlightProposalParams->params['AgencySysId'];
//exit;
$objFlight = new Travel_Model_TblFlight();
$arrTravelPlanAir = $objFlight->getTravelPlanAirData($TPSysId);
$arrTrevllerList = $objFlight->GetCustomerListForFlightBooking($TPSysId, $IsReturn);
$VersionId = isset($arrTravelPlanAir[$TicketFor]['VersionId']) ? $arrTravelPlanAir[$TicketFor]['VersionId'] : '';
$SourceAirportCode = isset($arrTravelPlanAir[$TicketFor]['SourceAirportCode']) ? $arrTravelPlanAir[$TicketFor]['SourceAirportCode'] : '';
$DestAirportCode = isset($arrTravelPlanAir[$TicketFor]['DestAirportCode']) ? $arrTravelPlanAir[$TicketFor]['DestAirportCode'] : '';
if (!empty($VersionId)) {
$data = [
"TraceId" => $TraceId,
"PNR" => $PNR,
"BookingId" => $BookingId
];
//echo "<pre>";print_r($data);exit;
$strJsonResponse = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->generateNonLccTicket($data);
$response = json_decode($strJsonResponse, true);
//echo "<pre>";print_r($response);exit;
$ErrorCode = isset($response['Response']['Error']['ErrorCode']) ? $response['Response']['Error']['ErrorCode'] : '0';
$ErrorMessage = isset($response['Response']['Error']['ErrorMessage']) ? $response['Response']['Error']['ErrorMessage'] : '';
$strBookingId = isset($response['Response']['Response']['BookingId']) ? $response['Response']['Response']['BookingId'] : '';
$strTicketPNR = isset($response['Response']['Response']['PNR']) ? $response['Response']['Response']['PNR'] : '';
$TicketStatus = isset($response['Response']['Response']['TicketStatus']) ? $response['Response']['Response']['TicketStatus'] : '';
$Passenger = isset($response['Response']['Response']['FlightItinerary']['Passenger']) ? $response['Response']['Response']['FlightItinerary']['Passenger'] : '';
$Message = isset($response['Response']['Response']['Message']) ? $response['Response']['Response']['Message'] : '';
$AirlineRefPNR = (isset($response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR']) && !empty($response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR']) ? $response['Response']['Response']['FlightItinerary']['Segments'][0]['AirlinePNR'] : '');
// if($TicketStatus!= 1 || $TicketStatus!= 0){
// $ErrorCode = ($TicketStatus!=0)?$TicketStatus:1;
// $ErrorMessage = isset($response['Response']['Response']['Message']) ? $response['Response']['Response']['Message'] : '';
// }
//echo $ErrorMessage."=============="; exit;
if ($ErrorCode == 0 && $TicketStatus == 1) {
$data = array(
"XRefBookingId" => $strBookingId . "/" . $strTicketPNR,
"APIBookingRes" => json_encode($response),
"XRefPNR" => 1,
"IsBookingStatus" => 1,
"AirlineRefPNR" => $AirlineRefPNR
);
//echo "<pre>";print_r($data);exit;
$objFlight->updateBookingDetails($data, $VersionId); // FOR Ticket CONFIRMED
if (isset($arrTrevllerList) && !empty($arrTrevllerList)) {
foreach ($arrTrevllerList as $key => $value) {
if (isset($Passenger[$key]['Ticket'])) {
$Ticket = $Passenger[$key]['Ticket'];
$data = array(
"TicketId" => $Ticket['TicketId'],
"TicketNumber" => $Ticket['TicketNumber'],
"TicketFullJson" => json_encode($Passenger[$key])
);
$objFlight->updateTravelPlanPax($data, $value['TPPaxSysId']);
}
}
}
//Mail Booking Itenary To Customer
$objFlight = new Travel_Model_TblFlight();
$arrFlightFare = $objFlight->customerInvoiceData($TPSysId);
if (!empty($intCustomerSysId)) {
$arrTrevllerDetails = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $TPSysId);
}
if ($arrFlightFare) {
foreach ($arrFlightFare as $k => $values) {
$AgencySysId = $values['AgencySysId'];
$AgentSysId = $values['AgentSysId'];
$intLoggedinUserEmailId = $values['PrimaryEmail'];
$arrtravellerList = $objFlight->travellerListBySabir($TPSysId);
$arrCustomerInvoiceData = $objFlight->customerInvoiceDataBySabir($TPSysId, $values['AirVersionId']);
//echo '<pre>';print_r($arrCustomerInvoiceData);echo '</pre>';
$intCustomerSysId = $arrCustomerInvoiceData[0]['CustomerSysId'];
if (!empty($intCustomerSysId)) {
$arrTrevllerDetailsNew = $objFlight->GetAgencyCustomerDetailsForBooking($intCustomerSysId, $TPSysId);
}
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
$crmcustomerObj = new Travel_Model_CRM_Customer();
$arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
$html->assign('type', 'mailToCustomer');
$html->assign('arrResponse', $response);
$html->assign('arrTrevllerDetails', $arrTrevllerDetailsNew);
$html->assign('arrtravellerList', $arrtravellerList);
$html->assign('arrCustomerInvoiceData', $arrCustomerInvoiceData);
$bodyText = $html->render('mail-booking-content-new.phtml');
$subject = "Flight Booking Itinerary From " . $SourceAirportCode . " To " . $DestAirportCode;
$customerEmailId = isset($arrTrevllerDetails[0][0]['EmailId']) ? $arrTrevllerDetails[0][0]['EmailId'] : '';
$emailData = array('fromEmail' => trim($intLoggedinUserEmailId), 'fromName' => trim($arrAgencyDetail['DisplayName']), 'subject' => $subject, 'to' => array($customerEmailId, $intLoggedinUserEmailId, "gaurav@hellogtx.com", "prashant@catpl.co.in"), 'bodyHtml' => $bodyText, 'bodyText' => '');
try {
// Added By Pardeep Panchal For Email Count...
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $TPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $AgentSysId,
"Title" => $subject,
"Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
// Added By Pardeep Panchal For Email Count Ends...
$this->mailSentByElastice($emailData, $arrEmailStatistics);
} catch (Exception $err) {
print_r($err, true);
}
}
}
// $html = new Zend_View();
// $html->setScriptPath(APPLICATION_PATH . '/views/scripts/flight/');
// $crmcustomerObj = new Travel_Model_CRM_Customer();
// $arrAgencyDetail = $crmcustomerObj->GetAgencyDetailById($AgencySysId);
// $html->assign('type', 'mailToCustomer');
// $html->assign('arrResponse', $response);
// $html->assign('arrAgencyDetail', $arrAgencyDetail);
// $html->assign('arrFlightFare', $arrFlightFare[0]);
// $bodyText = $html->render('mail-booking-content.phtml');
// $subject = "Flight Booking Itinerary From ".$SourceAirportCode." To ".$DestAirportCode;
// $emailData = array('fromEmail'=>trim($this->intLoggedinUserEmailId),'fromName'=>trim($arrAgencyDetail['DisplayName']),'subject'=> $subject,'to'=>array($CustomerEmailId,$this->intLoggedinUserEmailId,"gaurav@hellogtx.com","prashant@catpl.co.in"),'bodyHtml'=>$bodyText,'bodyText'=>'');
// try {
// // Added By Pardeep Panchal For Email Count...
// $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
// $arrEmailStatistics = array(
// "TPSysId" => $TPSysId,
// "TypeSysId" => 1, // 1 For Email 2 For SMS
// "AgencySysId" => $AgencySysId,
// "AgentSysId" => $this->intLoggedinUserId,
// "Title" => $subject,
// "Source" => $arrEmailStatisticsType[1], // 1 For Vouchers Emailing
// "Status" => 0,
// "RefSysId" => "",
// "RefSysStatus" => "",
// "CreateDate" => date('Y-m-d H:i:s')
// );
//
// // Added By Pardeep Panchal For Email Count Ends...
// $this->mailSentByElastice($emailData,$arrEmailStatistics);
// } catch (Exception $err) {
// print_r($err, true);
// }
//Mail Booking Itenary To Customer
$response = array('success' => true, 'msg' => 'Flight is confirmed Successfully. Please check your inbox for flight Itinerary.');
echo json_encode($response);
exit;
} elseif ($ErrorCode == 0 && $TicketStatus == 0) {
$data = array(
"StatusType" => 72,
"ErrorMessage" => $Message
);
$objFlight->updateBookingStatusTravelPlan($data, $TPSysId);
$response = array('success' => false, 'msg' => $Message . "<br/>Please contact administrator for more information");
echo json_encode($response);
exit;
} else {
$data = array(
"StatusType" => 72,
"ErrorMessage" => $ErrorMessage
);
$objFlight->updateBookingStatusTravelPlan($data, $TPSysId);
$response = array('success' => false, 'msg' => $ErrorMessage . "<br/>Please contact administrator for more information");
echo json_encode($response);
exit;
}
}
} else {
die('Invalid Request..!');
}
}
////========================= Quick flight propsal functions ==================================////
public function viewFlightProposalQuickAction()
{
$this->view->TPSysId = $TPSysId = base64_decode($this->_request->getParam('id'));
//Zend_Session::namespaceUnset('sessionFlightProposalParams');
$objFlightProposal = new Travel_Model_TblFlightProposal();
if (!empty($TPSysId)) {
$arrFlightDetails = $objFlightProposal->getFlightProposalDetails(0, $TPSysId);
if (isset($arrFlightDetails[0]['MasterTPSysId']) && !empty($arrFlightDetails[0]['MasterTPSysId'])) {
$this->view->MasterTPSysId = $MasterTPSysId = $arrFlightDetails[0]['MasterTPSysId'];
$arrAgencyDetails = $objFlightProposal->getProposalAgencyDetails($MasterTPSysId,'query');
if (!empty($arrAgencyDetails) == 0 || empty($MasterTPSysId)) {
echo 'Details not found.';
exit;
}
$this->view->arrAgencyDetails = $arrAgencyDetails;
$CustomerSysId = trim($arrFlightDetails[0]['CustomerSysId']);
$this->view->IsInternational = $IsInternational = trim($arrFlightDetails[0]['IsInternational']);
$this->view->JourneyType = $JourneyType = trim($arrFlightDetails[0]['JourneyType']);
$this->view->arrAirDetails = $arrFlightDetails;
$this->view->SourceAirportCode = $SourceAirportCode = trim($arrFlightDetails[0]['SourceAirportCode']);
if (!empty($SourceAirportCode)) {
$arrSourceAirport = $objFlightProposal->getAirPortByAirportCode($SourceAirportCode);
}
$this->view->SourceAirport = isset($arrSourceAirport['label']) ? $arrSourceAirport['label'] : '';
$this->view->DestAirportCode = $DestAirportCode = trim($arrFlightDetails[0]['DestAirportCode']);
if (!empty($DestAirportCode)) {
$arrDestinationAirport = $objFlightProposal->getAirPortByAirportCode($DestAirportCode);
}
$this->view->DestinationAirport = isset($arrDestinationAirport['label']) ? $arrDestinationAirport['label'] : '';
//echo "<pre>";print_r($arrSourceAirport);
$AgencySysId = $arrAgencyDetails['AgencySysId'];
$arrRoomInfoJson = json_decode($arrAgencyDetails['RoomInfoJson'], true);
/* Selected Flight Specific Session Values */
$intAdultCount = $arrRoomInfoJson[1]['Adult'];
$intChildCount = $arrRoomInfoJson[1]['Child'];
$intInfantCount = $arrRoomInfoJson[1]['Infant'];
$departuredate = $arrRoomInfoJson[1]['departuredate'];
$returndate = $arrRoomInfoJson[1]['returndate'];
$strOriginAirPortCode = $arrRoomInfoJson[1]['fromaircode'];
$strDestinationAirPortCode = $arrRoomInfoJson[1]['toaircode'];
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$sessionFlightProposalParams->params['MasterTPSysId'] = $MasterTPSysId;
$sessionFlightProposalParams->params['TPSysId'] = $TPSysId;
$sessionFlightProposalParams->params['AgencySysId'] = $AgencySysId;
$sessionFlightProposalParams->params['CustomerSysId'] = $CustomerSysId;
$sessionFlightProposalParams->params['AdultCount'] = $intAdultCount;
$sessionFlightProposalParams->params['ChildCount'] = $intChildCount;
$sessionFlightProposalParams->params['InfantCount'] = $intInfantCount;
$sessionFlightProposalParams->params['departuredate'] = $departuredate;
$sessionFlightProposalParams->params['returndate'] = $returndate;
$objAirport = new Travel_Model_TblAirport();
$objAirport->strAirportCode = $strOriginAirPortCode;
$arrSourceCityId = $objAirport->getAirportList();
if (!empty($arrSourceCityId) ) {
$intSourceCityId = $arrSourceCityId[0]['CityId'];
$intCountryCode = $arrSourceCityId[0]['CountryCode'];
$intOriginCountryCode = trim($arrSourceCityId[0]['CountryCode']);
} else {
$intSourceCityId = "";
$intCountryCode = "";
}
$objAirport->strAirportCode = $strDestinationAirPortCode;
$arrDestinationCityId = $objAirport->getAirportList();
if (!empty($arrDestinationCityId)) {
$intDestinationCityId = $arrDestinationCityId[0]['CityId'];
$intDestinationCountryCode = trim($arrDestinationCityId[0]['CountryCode']);
} else {
$intDestinationCityId = "";
}
if ($intOriginCountryCode != "IN" || empty($intOriginCountryCode)) {
$sessionFlightProposalParams->params['IsInterNational'] = true;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intOriginCountryCode);
} else if ($intDestinationCountryCode != "IN" || empty($intDestinationCountryCode)) {
$sessionFlightProposalParams->params['IsInterNational'] = true;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intDestinationCountryCode);
} else {
$sessionFlightProposalParams->params['IsInterNational'] = false;
$sessionFlightProposalParams->params['intCountryCode'] = trim($intDestinationCountryCode);
}
/* Selected Flight Specific Session Values Ends */
$this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
$getcustomerDetail = $this->_crmcusttravelplan->GetTravelPlanDetailsofCustomer($TPSysId);
$agencyStaffObj = new Travel_Model_TblAgencyStaff();
$agentDetail = $agencyStaffObj->getUserDetailsById($arrFlightDetails[0]['AgentSysId']);
$AgencySysId = $arrFlightDetails[0]['AgencySysId'];
$getAgentDetail = array('AgentName' => $agentDetail['FirstName'] . " " . $agentDetail['LastName'], 'AgentContact' => $agentDetail['ContactNo1']);
$this->_crmcustomerObj = new Travel_Model_CRM_Customer();
$getAgencyDetail = $this->_crmcustomerObj->GetAgencyDetailById($AgencySysId);
$getAgencyDetail['fullAddress'] = isset($agencyAddress['CityName']) ? $agencyAddress['CityName'] . $agencyState . $agencyCountry : '';
//send email to agent when customer open proposal
//echo "<pre>";print_r($getcustomerDetail);die;
//echo $arrFlightDetails[0]['IsPlanViewed'];die;
if ($arrFlightDetails[0]['IsPlanViewed'] == 0) {
$emailSendId = trim($getAgencyDetail['PrimaryEmail']);
$fromName = (isset($getAgencyDetail['DisplayName']) && !empty($getAgencyDetail['DisplayName'])) ? trim($getAgencyDetail['DisplayName']) : trim(trim($getAgencyDetail['Title']));
$emailId = trim($agentDetail['EmailId']);
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/views/scripts/proposal/');
$html->assign('type', 'proposalViewFlightSendEmailToAgent');
$html->assign('customerDetails', $getcustomerDetail);
$html->assign('agentDetails', $agentDetail);
$html->assign('agencyDetails', $getAgencyDetail);
$link = $this->view->baseUrl("/flight-proposal/view-flight-proposal/id/" . base64_encode($TPSysId));
$html->assign('link', $link);
$html->assign('data', $arrFlightDetails);
$html->assign('destination', trim(stripslashes($arrDestinationAirport['label'])));
//$html->assign('data', $hotelValues);
$bodyText = $html->render('email-template.phtml');
$subject = 'HelloGTX - Proposal Open Alert !';
if($getAgencyDetail['IsDisplayHelloGTX'] == 1){
$subject = $fromName.' - Proposal Open Alert !';
}
//$bodyText='Customer open your proposal' .$this->view->baseUrl("/proposal/preview-hotel-result/mid/".base64_encode($mid)."/pid/".base64_encode($pid)."/uid/".base64_encode($uid)."/type/".base64_encode($type));
//$bodyText='Customer open your proposal' .$this->view->baseUrl("/proposal/preview-hotel-result/mid/".base64_encode($mid)."/pid/".base64_encode($pid)."/uid/".base64_encode($uid)."/type/".base64_encode($type));
$emailData = array('fromEmail' => trim($emailSendId), 'fromName' => trim($fromName), 'subject' => $subject, 'to' => array(trim($emailId)), 'bodyHtml' => $bodyText, 'bodyText' => '');
$arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
$arrEmailStatistics = array(
"TPSysId" => $TPSysId,
"TypeSysId" => 1, // 1 For Email 2 For SMS
"AgencySysId" => $AgencySysId,
"AgentSysId" => $arrFlightDetails[0]['AgentSysId'],
"Title" => $bodyText,
"Source" => $arrEmailStatisticsType[2], // 1 For Misc
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
$this->mailSentByElastice($emailData, $arrEmailStatistics, 0, 0);
//send sms
$mobile_no = trim($agentDetail['ContactNo1']);
$updateData = new Payment_Model_Checkotp();
$bitly_response = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->getSmallLinkFromBitlyAPI($link, $this->BITLYLOGIN, $this->BITLYAPIKEY);
if ($bitly_response['errorCode'] == 0) {
$link = $bitly_response['results'][$link]['shortUrl'];
}
$massage = "Your Customer(" . trim($getcustomerDetail[0]['FirstName']) . " " . trim($getcustomerDetail[0]['LastName']) . "-" . trim($getcustomerDetail[0]['Contacts']) . ") has just opened the proposal for " . trim(stripslashes($arrDestinationAirport['label'])) . ",Click: " . $link . " to view and assist for finalizing.";
$this->postFields = "";
$this->postFields .= "&method=$this->SMSMETHOD";
$this->postFields .= "&api_key=$this->SMSAPIKEY";
$this->postFields .= "&to=$mobile_no";
$this->postFields .= "&sender=$this->SMSSENDER";
$this->postFields .= "&message=$massage";
$this->postFields .= "&format=$this->SMSFORMAT";
$postURL = $this->SMSURL;
$arrSMSStatisticsType = array_keys(unserialize(ARR_SMS_STATISTICS_TYPE));
$arrSMSStatistics = array(
"TPSysId" => $arrFlightDetails[0]['TPSysId'],
"TypeSysId" => 2, // 1 For Email 2 For SMS
"AgencySysId" => $arrFlightDetails[0]['AgencySysId'],
"AgentSysId" => $arrFlightDetails[0]['AgentSysId'],
"Title" => $massage,
"Source" => $arrSMSStatisticsType[0], // 2 For Resend
"Status" => 0,
"RefSysId" => "",
"RefSysStatus" => "",
"CreateDate" => date('Y-m-d H:i:s')
);
//$resultVal = $updateData->sendSmsDetails($postURL, $this->postFields, $arrSMSStatistics);
$resultVal['status'] = 'OK';
if (isset($resultVal['status']) && $resultVal['status'] == 'OK') {
$errorMessage = "";
} else {
$errorMessage = "Oops! Please try again";
}
//echo $errorMessage."/".print_r($resultVal)."/".$massage."/".$mobile_no;
//end of send sms
if (!empty($MasterTPSysId)) {
$data = array(
'isPlanViewed' => 1,
'UpdateDate' => date('Y-m-d H:i:s'),
);
$where = "MasterTPSysId = " . $MasterTPSysId;
$updatetravelplanrecord = $this->_crmcusttravelplan->UpdateCustomerTravelPlan($data, $where);
}
}
//#end
$this->view->getcustomerDetail = $getcustomerDetail;
} else {
echo 'Details not found.';
exit;
}
} else {
echo 'Details not found.';
exit;
}
}
public function getFlightDetailsQuickAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$MasterTPSysId = $sessionFlightProposalParams->params['MasterTPSysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
$returndate = $sessionFlightProposalParams->params['returndate'];
if (!empty($returndate)) {
$arrRreturndate = explode("/", $returndate);
$returndate = $arrRreturndate[2] . "-" . $arrRreturndate[1] . "-" . $arrRreturndate[0];
} else {
$returndate = "";
}
//echo "<pre>";print_r($sessionFlightProposalParams->params);exit;
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$TPSysId = trim($this->getRequest()->getParam('TPSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
$sessionFlightProposalParams->params['TPSysId'] = $TPSysId;
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => $AirInvenSysId
);
//echo '<pre>';print_r($urlData);die('ddd');
if (!empty($AirInvenSysId)) {
if (!empty($TPSysId)) {
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => $AirInvenSysId
);
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($urlData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData);
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'msg' => 'Invalid query');
echo json_encode($response);
exit;
}
} else {
$response = array('success' => false, 'msg' => "Oops! There might be some technical error.Please contact administrator for more details.");
echo json_encode($response);
exit;
}
}
exit;
}
public function getRoundTripFlightDetailsQuickAction()
{
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$sessionFlightProposalParams = new Zend_Session_Namespace('sessionFlightProposalParams');
$AgencySysId = $sessionFlightProposalParams->params['AgencySysId'];
$MasterTPSysId = $sessionFlightProposalParams->params['MasterTPSysId'];
$intAdultCount = $sessionFlightProposalParams->params['AdultCount'];
$intChildCount = $sessionFlightProposalParams->params['ChildCount'];
$intInfantCount = $sessionFlightProposalParams->params['InfantCount'];
$IsInterNational = $sessionFlightProposalParams->params['IsInterNational'];
$returndate = $sessionFlightProposalParams->params['returndate'];
if (!empty($returndate)) {
$arrRreturndate = explode("/", $returndate);
$returndate = $arrRreturndate[2] . "-" . $arrRreturndate[1] . "-" . $arrRreturndate[0];
} else {
$returndate = "";
}
//echo "<pre>";print_r($sessionFlightProposalParams->params);exit;
$AirInvenSysId = trim($this->getRequest()->getParam('AirInvenSysId'));
$TPSysId = trim($this->getRequest()->getParam('TPSysId'));
$IsInterNational = trim($this->getRequest()->getParam('IsInterNational'));
$sessionFlightProposalParams->params['TPSysId'] = $TPSysId;
// $urlData = array(
// "MasterTPSysId" => $MasterTPSysId,
// "TPSysId" => $TPSysId,
// "AirInvenSysId" => $AirInvenSysId
// );
//
if (!empty($AirInvenSysId)) {
if (!empty($TPSysId)) {
$urlData = array(
"MasterTPSysId" => $MasterTPSysId,
"TPSysId" => $TPSysId,
"AirInvenSysId" => trim($this->getRequest()->getParam('AirInvenSysId')),
"ReturnAirInvenSysId" => trim($this->getRequest()->getParam('ReturnAirInvenSysId'))
);
//echo '<pre>';print_r($urlData);die('ddd');
$strUrlData = Zend_Controller_Action_HelperBroker::getStaticHelper("Flight")->dataEncode($urlData);
$response = array('success' => true, 'msg' => '', 'urlData' => $strUrlData);
echo json_encode($response);
exit;
} else {
$response = array('success' => false, 'msg' => 'Invalid query');
echo json_encode($response);
exit;
}
} else {
$response = array('success' => false, 'msg' => "Oops! There might be some technical error.Please contact administrator for more details.");
echo json_encode($response);
exit;
}
}
exit;
}
public function pnrmigrationAction()
{
//
$objFlight = new Travel_Model_TblFlight();
$strFlightBookingListSQL = $objFlight->getFlightBookingListCron(null, true);
// echo "<pre>";
// print_r(count($strFlightBookingListSQL));
// die();
$UpdatedVersionid = [];
$NotUpdatedVersionid = [];
if ($strFlightBookingListSQL) {
foreach ($strFlightBookingListSQL as $value) {
$ICSourceSysId = $value['ICSourceSysId'];
$intTPSysId = $value['TPSysId'];
$AirVersionId = $value['AirVersionId'];
$strBookingId = $value['XRefBookingId'];
$TPIntSysId = $value['TPIntSysId'];
$arrBookingId = explode("/", $strBookingId);
$strXRefBookingId = trim($arrBookingId[0]);
$APIBookingRes = json_decode($value['APIBookingRes'], true);
$bookingId_TJ = isset($APIBookingRes['value']['bookingId_TJ']) ? $APIBookingRes['value']['bookingId_TJ'] : '';
if (!empty($bookingId_TJ)) {
$bookingId_TJ = $bookingId_TJ;
} else {
$bookingId_TJ = isset($APIBookingRes['value']['bookingId']) ? $APIBookingRes['value']['bookingId'] : '';
}
$TicketId = [];
if ($ICSourceSysId == 3) {
$Passengers = isset($APIBookingRes['response']['Response']['Response']['PNR']) ? $APIBookingRes['response']['Response']['Response']['PNR'] : '';
} else {
$Passengers = isset($APIBookingRes['response']['itemInfos']['AIR']['travellerInfos']) ? $APIBookingRes['response']['itemInfos']['AIR']['travellerInfos'] : '';
}
if ($Passengers) {
foreach ($Passengers as $pax) {
//$statusMap = implode('-', $pax['statusMap']);
$TicketId = implode('-', $pax['pnrDetails']);
}
}
$pnr = explode('-', $TicketId);
if (count($pnr) > 2) {
$PNR_Number = $pnr[0] . '-' . $pnr[1];
} else {
$PNR_Number = $pnr[0];
}
$OnwardAutoTicket = isset($APIBookingRes['value']['OnwardAutoTicket']) ? $APIBookingRes['value']['OnwardAutoTicket'] : 1;
if ($OnwardAutoTicket == 0) {
$PNR_Number = '';
}
if ($ICSourceSysId == 7 || $ICSourceSysId == 8) {
if (isset($arrBookingId[1]) && !empty($arrBookingId[1])) {
$strXRefBookingId = $strXRefBookingId . '<br><a style="color: #0061f1;">' . $arrBookingId[1] . '</a>';
} else {
if (!empty($PNR_Number)) {
$strXRefBookingId = $strXRefBookingId . '<br><a style="color: #0061f1;">' . $PNR_Number . ' </a>';
} else {
$strXRefBookingId = $strXRefBookingId . '<br><a class="updatepnr" style="color: red;" id="' . base64_encode($value['TPSysId']) . '" TPIntSysId="' . $TPIntSysId . '">Update PNR </a>';
}
}
} else {
if ($ICSourceSysId == 3) {
$strXRefBookingId = $strXRefBookingId . '<br><a style="color: #0061f1;">' . $Passengers . '</a>';
} else {
$strXRefBookingId = $strXRefBookingId;
}
}
if (!empty($PNR_Number)) {
$updateField = array(
'AirlineRefPNR' => $PNR_Number
);
$upadsted = $objFlight->updatePNR($updateField, $AirVersionId);
if ($upadsted) {
$UpdatedVersionid[] = $AirVersionId;
} else {
$NotUpdatedVersionid[] = $AirVersionId;
}
} else {
$PNR_Number = $arrBookingId[1];
$updateField = array(
'AirlineRefPNR' => $PNR_Number
);
$upadsted = $objFlight->updatePNR($updateField, $AirVersionId);
if ($upadsted) {
$UpdatedVersionid[] = $AirVersionId;
} else {
$NotUpdatedVersionid[] = $AirVersionId;
}
}
}
echo json_encode(array('updaterecord' => $UpdatedVersionid, 'notupdaterecord' => $NotUpdatedVersionid, 'totalupdate' => count($UpdatedVersionid), 'totalnotupdate' => count($NotUpdatedVersionid)));
exit;
} else {
echo json_encode(array('updaterecord' => [], 'notupdaterecord' => [], 'totalupdate' => 0, 'totalnotupdate' => 0));
exit;
}
}
}