403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/application/controllers/ModifyPackageController.php
<?php
/*
 * Catabatic Technology Pvt. Ltd.
 * File Name :ModifyPackageController.php
 * File Description :ModifyPackage Controller  is used to manage modify proposal for customer
 * Created By : Pooja Choudhary
 * Created Date: 5-April-2017
 */
class ModifyPackageController extends Catabatic_ValidateGtx
{
    public function init()
    {
        parent::init();
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');

        $this->intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        $this->intLoggedinUserGroupSysId = $sessionLogin_user->intLoggedinUserGroupSysId;
        $this->intLoggedinUserAgencySysId = $sessionLogin_user->intLoggedinUserAgencySysId;
        $this->intLoggedinUserTrxCurrency = $sessionLogin_user->intLoggedinUserTrxCurrency;

        $this->_HtmlPurifier = new Zend_Filter_HtmlPurifier();
        $this->currentDate = date('Y-m-d H:i:s');

        $this->_objPackage = new Travel_Model_TblPackage();
        $this->_crmcustomerObj = new Travel_Model_CRM_Customer();
        $this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
        $this->_crmcustomertravelItenary = new Travel_Model_CRM_CustomerTravelItenary();
        $this->_crmcusttravelplanItenaryAccom = new Travel_Model_CRM_CustomerTravelPlanAccom();
        $this->_crmcustomertravelItenaryEvents = new Travel_Model_CRM_CustomerTravelItenaryEvents();
        $this->_crmcustomertravelItenaryPlaces = new Travel_Model_CRM_CustomerTravelItenaryPlaces();
        $this->_crmcustomertravelSightSeeing = new Travel_Model_CRM_CustomerTravelItenarySightSeeing();
        $this->_crmcustomertravelMarketPlaces = new Travel_Model_CRM_CustomerTravelItenaryMarketRate();
        $this->_crmcustomertravelPlanRate = new Travel_Model_CRM_CustomerTravelPackRate();
        $this->_crmcustomertravelTerm = new Travel_Model_CRM_CustomerTravelTerm();
        $this->_travelplanObj = new Travel_Model_Package_PackageModel();

        $aConfig = $this->getInvokeArg('bootstrap')->getOptions();
        $this->smtpUserName = $aConfig['smtpUserName'];
        $this->smtpPassword = $aConfig['smtpPassword'];
        $this->smtpPort = $aConfig['smtpPort'];
        $this->smtpHost = $aConfig['smtpHost'];
        $this->fromEmail = $aConfig['fromEmail'];
        $this->fromName = $aConfig['fromName'];
        $this->siteUrl = $aConfig['bootstrap']['siteUrl'];
    }
    public function updateProposalAction()
    {
        $this->view->tpsysID = $this->_getParam('id');
        $this->view->mId = $this->_getParam('mid');
        $this->view->param = $this->_getParam('param');
    }
    public function updateCustomerProposalAction()
    {
        $this->_helper->layout->disableLayout();
        $tpsysID = $this->getRequest()->getParam('PackageId');
        $packageThemeList = $this->_objPackage->getPackageThemeList();
        $this->view->packageThemeList = $packageThemeList;
        $packageInclList = $this->_objPackage->getPackageInclusionList();
        $this->view->packageInclList = $packageInclList;
        $packageTypeList = $this->_objPackage->getPackageTypeList();
        $this->view->packageTypeList = $packageTypeList;
        if ($tpsysID > 0) {
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            if (isset($flexiPackageList[0]['DestinationCovered']) && !empty($flexiPackageList[0]['DestinationCovered'])) {
                $cityobj = new Travel_Model_TblCity();
                $cityIds = trim($flexiPackageList[0]['DestinationCovered']);
                $otherlocationcity = $cityobj->getCityDetailsByMultipleId($cityIds);
                $this->view->otherlocationcity = $otherlocationcity;
            }
            //echo '<pre>'; print_r($otherlocationcity);echo '</pre>';
            $this->view->flexiPackageList = $flexiPackageList[0];
            $objSupplier = new Travel_Model_TblSupplier();
            $SupplierArr = $objSupplier->getSupplierById($flexiPackageList[0]['SupplierSysId']);
            $this->view->SupplierArr = $SupplierArr;
        }
    }
    public function updateCustomerProposalSaveAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);

        $packageThemeList = $this->_objPackage->getPackageThemeList();
        $this->view->packageThemeList = $packageThemeList;
        $packageInclList = $this->_objPackage->getPackageInclusionList();
        $this->view->packageInclList = $packageInclList;
        $packageTypeList = $this->_objPackage->getPackageTypeList();
        $this->view->packageTypeList = $packageTypeList;


        if ($this->getRequest()->isPost()) {
            $post = $this->getRequest()->getPost();
            $tpsysID = $post['code'];
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            //            echo '<pre>'; print_r($flexiPackageList);
            $this->view->flexiPackageList = $flexiPackageList[0];
            $objSupplier = new Travel_Model_TblSupplier();
            $SupplierArr = $objSupplier->getSupplierById($flexiPackageList[0]['SupplierSysId']);
            $this->view->SupplierArr = $SupplierArr;


            $thememask = Zend_Controller_Action_HelperBroker::getStaticHelper('BitMasking')->setMasking($post['PackTypeMask'], $packageThemeList, 'PackType');
            $inclmask = Zend_Controller_Action_HelperBroker::getStaticHelper('BitMasking')->setMasking($post['InclMask'], $packageInclList, 'InclId');

            $search_going_from = $post['search_going_from_id'];
            if (!empty($search_going_from)) {
                $search_going_to_source = explode('__', $search_going_from);
                $going_from_cityname = $search_going_to_source[1];
                $going_from_cityid = $search_going_to_source[0];
            }

            $updatetravelplan = array(
                'PackRangeType' => isset($post['PackRangeType']) ? $post['PackRangeType'] : '',
                'Title' => isset($post['Title']) ? $post['Title'] : '0',
                'PackTypeMask' => $thememask,
                'InclMask' => $inclmask,
                //                'TravelInsurance' => isset($post['TravelInsurance']) ? $post['TravelInsurance'] : '0',
                'UpdateDate' => $this->currentDate,
                'ApproveDate' => $this->currentDate,
                'SourcePlaces' => isset($going_from_cityname) ? $going_from_cityname : '',
                'SourcePlaceSysId' => isset($going_from_cityid) ? $going_from_cityid : 0,
                'DestinationCovered' => !empty($post['otherlocationcity']) ? $post['otherlocationcity'] : ''
            );

            $where = "TPSysId = $tpsysID";

            $this->_crmcusttravelplan->UpdateCustomerTravelPlan($updatetravelplan, $where);
            //            $this->_helper->redirector('verify-contact-email', 'modify-package', 'default', $params);
            $this->_redirect("/modify-package/update-proposal/id/$tpsysID/param/2");
            exit;
        }
    }
    public function updateCustomerProposalReadymadeItineraryAction()
    {
        $this->_helper->layout->disableLayout();
        $tpsysID = $this->getRequest()->getParam('PackageId');

        if ($tpsysID > 0) {
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);


            $objPAckRange = new Travel_Model_TblPackageRange();
            $PackRangeArr = $objPAckRange->getDataByPackageRangeId($flexiPackageList[0]['PackRangeType']);
            $objSupplier = new Travel_Model_TblSupplier();
            $SupplierArr = $objSupplier->getSupplierById(($flexiPackageList[0]['SupplierSysId']));
            $objHotelRooms = new Travel_Model_TblHotelRooms();
            $this->view->arrHotelRoomTypes = $objHotelRooms->getRoomTypes();
            $objHotelMealType = new Travel_Model_Master_Mealtype();
            $this->view->arrHotelRoomMealTypes = $objHotelMealType->getRoomMealtypes();

            $flexiPackageList[0]['PackRangeTypeName'] = $PackRangeArr['Title'];
            $flexiPackageList[0]['SupplierName'] = $SupplierArr['SupplierName'];
            //echo '<pre>'; print_r($SupplierArr['SupplierName']); die;
            $this->view->flexiPackageList = $flexiPackageList[0];

            $travelplanIetnaryData = $this->_crmcusttravelplan->GetCustomerTravelPlanItenary($tpsysID); // get itenary
            $this->view->flexiPackageItenList = $travelplanIetnaryData;

            $TPIntSysIdsArr = array_column($travelplanIetnaryData, 'TPIntSysId');
            $TPIntSysIds = implode(', ', $TPIntSysIdsArr);
            if (!empty($TPIntSysIds)) {
                $tplanitenaryaccomdata = $this->_crmcusttravelplan->GetCustomerTravelPlanItenaryAccom($TPIntSysIds);
                $this->view->tplanitenaryaccomdata = $tplanitenaryaccomdata;


                //Get Package Activity
                $flexiPackageActivityList = $this->_crmcusttravelplan->GetCustomerTravelPlanItenaryEvents($TPIntSysIds);
                $this->view->flexiPackageActivityList = $flexiPackageActivityList;

                //Get Package Sightseen
                $flexiPackageSightseenList = $this->_crmcusttravelplan->GetCustomerTravelPlanSightSeeing($TPIntSysIds);
                $this->view->flexiPackageSightseenList = $flexiPackageSightseenList;
            }
        }
    }
    public function updateCustomerProposalReadymadeItinerarySaveAction()
    {
        $this->_helper->layout->disableLayout();

        if ($this->getRequest()->isPost()) {
            $post = $this->getRequest()->getPost();
            //            echo "<pre>"; print_r($post); die;

            $tpsysID = $post['TPSysId'];
            $packspectype = $post['packspectype'];

            $travelplanIetnaryData = $this->_crmcusttravelplan->GetCustomerTravelPlanItenary($tpsysID); // get itenary
            $TPIntSysIdsArr = array_column($travelplanIetnaryData, 'TPIntSysId');

            if ($packspectype == '2') {
                for ($d = 0; $d < count($TPIntSysIdsArr); $d++) {

                    $cityid = $post['cityidarr'][0];
                    $objCity = new Travel_Model_TblCity();
                    $objCity->intCityId = $cityid;
                    $cityArray = $objCity->getCityList();
                    $countryId = $cityArray[0]['ContSysId'];
                    //                        $seqid =  $travelplanIetnaryData[$d]['Sequence'];    



                    $itndata = array(
                        'Details' => @$post['detail'],
                        'UpdateDate' => $this->currentDate
                    );
                    $where = array('TPSysId = ? ' => $tpsysID, 'Sequence =?' => 1);
                    $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Itenary', $itndata, $where);

                    $itenId = $TPIntSysIdsArr[$d];
                    $where3 = array('TPIntSysId = ? ' => $itenId);

                    $deldata = array(
                        'UpdateDate' => $this->currentDate,
                        'IsMarkForDel' => '1',
                        'IsActive' => '0'
                    );
                    $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Itenary_Events', $deldata, $where3);

                    $delsightdata = array(
                        'UpdateDate' => $this->currentDate,
                        'IsMarkForDelete' => '1',
                        'IsActive' => '0'
                    );
                    $where1 = array('InvnItemSysId = ? ' => $itenId);
                    $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_SightSeeing', $delsightdata, $where1);

                    $where2 = array('TPIntSysId = ? ' => $itenId);
                    $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Accom', $deldata, $where2);
                    //                    echo '<pre>'; print_r($countryId);print_r($travelplanIetnaryData[$d]['CitySysId']); die;

                }


                //die;

                /*                 * ****************Activity****************************** */
                for ($d = 0; $d < count($TPIntSysIdsArr); $d++) {


                    $itenId = $TPIntSysIdsArr[$d];
                    for ($q = 0; $q < count(@$post['act']); $q++) {
                        $rdtarr1 = array();
                        $rdtarr1 = explode("_", @$post['act'][$q]);

                        if (is_numeric($rdtarr1[0])) {
                            $resactid = @$rdtarr1[0];
                            $resacttitle = @$rdtarr1[1];
                        } else {
                            $ActArray = $this->_objPackage->getActivitybyname(trim($rdtarr1[0]));
                            if (count($ActArray) == 0) {
                                $insert = array(
                                    'IsAgentSpec' => '1',
                                    'AgentSysId' => $this->intLoggedinUserId,
                                    'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                    'StartPlaceSysId' => '0',
                                    'EndPlaceSysId' => '0',
                                    'Title' => @$rdtarr1[0],
                                    'WriteUp' => '0',
                                    'DifficultyLevel' => '0',
                                    'AliasAndMeta' => '0',
                                    'ActivityGrType' => '0',
                                    'ActivityType' => '0',
                                    'ActivityIncMask' => '0',
                                    'DurationInMin' => '0',
                                    'DurationStr' => '0',
                                    'Icon' => '0',
                                    'ThumnailImg' => '0',
                                    'DetailImg' => '0',
                                    'MinPax' => '0',
                                    'MaxPax' => '0',
                                    'PeakMothMask' => '0',
                                    'LeanMonthMask' => '0',
                                    'SilentMonthMask' => '0',
                                    'IsTransferInc' => '0',
                                    'IsKidAllowed' => '0',
                                    'IsTeenAllowed' => '0',
                                    'IsAdultAllowed' => '0',
                                    'IsPetAllowed' => '0',
                                    'IsTrxAllowed' => '0',
                                    'IsPickAllowed' => '0',
                                    'StartAgeYr' => '0',
                                    'EndAgeYr' => '0',
                                    'Rating' => '0',
                                    'Popularity' => '0',
                                    'ThingsToCarry' => '0',
                                    'AwardRecognizations' => '0',
                                    'BookingType' => '0',
                                    'DifficultyType' => '0',
                                    'DaysWeekMask' => '0',
                                    'StartLocalTime' => '',
                                    'EndLocalTime' => '',
                                    'TimeSlots' => '0',
                                    'IsDayLightApp' => '0',
                                    'Address' => '0',
                                    'PinCode' => '0',
                                    'CitySysId' => isset($cityid) ? $cityid : '0',
                                    'ZoneSysId' => '0',
                                    'ZoneType' => '0',
                                    'StateSysId' => '0',
                                    'ContSysId' => isset($countryId) ? $countryId : '0',
                                    'PickUpLocation' => '0',
                                    'PrimaryContact' => '0',
                                    'SecondaryContact' => '0',
                                    'OtherContacts' => '0',
                                    'UpdateDate' => $this->currentDate,
                                    'ApproveDate' => $this->currentDate,
                                    'ApproveBy' => '0',
                                    'CreateDate' => $this->currentDate,
                                    'IsApproved' => '0',
                                    'IsActive' => '1',
                                    'IsMarkForDel' => '0'
                                );

                                $aId = $this->_objPackage->createActivityData($insert);
                                $resactid = $aId;
                                $resacttitle = $rdtarr1[0];
                            } else {

                                $resactid = $ActArray['ActivitySysId'];
                                $resacttitle = @$rdtarr1[0];
                            }
                        }

                        $data = array(
                            'InvnItemSysId' => '0',
                            'TPIntSysId' => $itenId,
                            'Sequence' => '0',
                            'CityId' => isset($cityid) ? trim($cityid) : '0',
                            'AgencySysId' => $this->intLoggedinUserAgencySysId,
                            'TPActivitySysId' => $resactid,
                            'CurrencyType' => '1',
                            'Title' => $resacttitle,
                            'Type' => 'Included',
                            'Cost' => '0',
                            'CreateDate' => $this->currentDate,
                            'UpdateDate' => $this->currentDate,
                            'IsMarkForDel' => '0',
                            'IsActive' => '1'
                        );

                        //echo '<pre>';print_r($data);
                        $aId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Itenary_Events', $data);
                    }
                    //                        }
                    /*                     * ****************Sightseen****************************** */
                    //                        for ($d = 0; $d < count(@$packitenidarr); $d++) {

                    for ($q = 0; $q < count(@$post['sight']); $q++) {


                        $rdtarr1 = array();
                        $rdtarr1 = explode("_", @$post['sight'][$q]);

                        if (is_numeric($rdtarr1[0])) {
                            $sstid = @$rdtarr1[0];
                            $sstitle = @$rdtarr1[1];
                        } else {
                            
                            $SightArray = $this->_objPackage->getSightbyname(trim($rdtarr1[0]),$cityid);
                            if (count($SightArray) == 0) {
                                $insertss = array(
                                    'IsAgentSpec' => '1',
                                    'AgentSysId' => $this->intLoggedinUserId,
                                    'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                    'StartPlaceSysId' => '0',
                                    'EndPlaceSysId' => '0',
                                    'Title' => @$rdtarr1[0],
                                    'synonyms' => '0',
                                    'WriteUp' => '',
                                    'DifficultyLevel' => '0',
                                    'AliasAndMeta' => '0',
                                    'SSGrType' => '0',
                                    'SSType' => '0',
                                    'SSIncMask' => '0',
                                    'DurationInMin' => '0',
                                    'DurationStr' => '0',
                                    'Icon' => '',
                                    'ThumnailImg' => '0',
                                    'DetailImg' => '0',
                                    'MinPax' => '0',
                                    'MaxPax' => '0',
                                    'PeakMothMask' => '0',
                                    'LeanMonthMask' => '0',
                                    'SilentMonthMask' => '0',
                                    'IsTransferInc' => '0',
                                    'IsKidAllowed' => '0',
                                    'IsTeenAllowed' => '0',
                                    'IsAdultAllowed' => '0',
                                    'IsPetAllowed' => '0',
                                    'IsTrxAllowed' => '0',
                                    'IsPickAllowed' => '0',
                                    'StartAgeYr' => '0',
                                    'EndAgeYr' => '0',
                                    'Rating' => '0',
                                    'Popularity' => '0',
                                    'ThingsToCarry' => '0',
                                    'AwardRecognizations' => '0',
                                    'BookingType' => '0',
                                    'DifficultyType' => '0',
                                    'DaysWeekMask' => '0',
                                    'StartLocalTime' => '',
                                    'EndLocalTime' => '',
                                    'TimeSlots' => '0',
                                    'IsDayLightApp' => '0',
                                    'Address' => '',
                                    'latitude' => '0',
                                    'longitude' => '0',
                                    'PinCode' => '0',
                                    'CitySysId' => isset($cityid) ? $cityid : '0',
                                    'ZoneSysId' => '0',
                                    'ZoneType' => '0',
                                    'StateSysId' => '0',
                                    'ContSysId' => isset($countryId) ? $countryId : '0',
                                    'PickUpLocation' => '0',
                                    'PrimaryContact' => '0',
                                    'SecondaryContact' => '0',
                                    'OtherContacts' => '0',
                                    'UpdateDate' => $this->currentDate,
                                    'ApproveDate' => $this->currentDate,
                                    'ApproveBy' => '0',
                                    'CreateDate' => $this->currentDate,
                                    'IsApproved' => '0',
                                    'IsActive' => '1',
                                    'IsMarkForDel' => '0'
                                );
                                $objSightseeing = new Travel_Model_TblSightseeing();
                                $intLastInsertId = $objSightseeing->addSightseeingDetails($insertss);
                                $sstid = @$intLastInsertId;
                                $sstitle = @$rdtarr1[0];
                            } else {
                                $sstid = $SightArray['SSSysId'];
                                $sstitle = @$rdtarr1[0];
                            }
                        }
                        $data1 = array(
                            'InvnItemSysId' => $itenId,
                            'XrefInvnItemSysId' => '0',
                            'SeqId' => '0',
                            'CityId' => isset($cityid) ? trim($cityid) : '0',
                            'AgencySysId' => $this->intLoggedinUserAgencySysId,
                            'SSSysId' => @$sstid,
                            'Title' => @$sstitle,
                            'Type' => 'Included',
                            'Cost' => '0',
                            'FromDate' => $this->currentDate,
                            'ToDate' => $this->currentDate,
                            'BookingType' => '0',
                            'Qty' => '0',
                            'IfAnyOffer' => '0',
                            'OfferMsg' => '0',
                            'OfferImage' => '0',
                            'IxFixedDateInven' => '0',
                            'CreateDate' => $this->currentDate,
                            'UpdateDate' => $this->currentDate,
                            'IsMarkForDelete' => '0',
                            'IsActive' => '1'
                        );
                        //                                echo '<pre>pppp'; print_r($data1); die;
                        $ssId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_SightSeeing', $data1);
                    }
                }
                /*                 * ****************Hotel****************************** */
                $cityseq = unserialize(base64_decode($post['cityseq']));
                $newCustomiseArray = array();
                foreach ($cityseq as $key => $seq) {
                    $newCustomiseArray[$seq[2]] = $seq;
                    $newCustomiseArray[$seq[2]]['key'] = $key;
                }

                //                $hotelresid = @$post['hotel_' . $tpsysID];
                //                       echo '<pre>';print_r($travelplanIetnaryData);print_r($newCustomiseArray);  print_r($post); die;
                for ($d = 0; $d < count($TPIntSysIdsArr); $d++) {
                    $itenId = $TPIntSysIdsArr[$d];
                    if ($travelplanIetnaryData[$d]['Sequence'] == 1 || ($travelplanIetnaryData[$d]['Sequence'] >= 2 && $travelplanIetnaryData[$d - 1]['Sequence'] == $travelplanIetnaryData[$d]['Sequence'])) {
                        $nKey = $newCustomiseArray[$travelplanIetnaryData[$d]['Sequence']]['key'];
                    }
                    $hotelresid = @$post['hotel_' . @$tpsysID][$nKey];
                    $roomType = @$post['room_type_' . @$tpsysID . '_' . $nKey];
                    $mealType = @$post['meal_type_' . @$tpsysID . '_' . $nKey];
                    $cityid = $cityseq[$nKey][4];

                    //                    for ($l = 0; $l < count(@$hotelresid); $l++) {
                    $rdtarr3 = array();
                    $rdtarr3 = explode("_", @$hotelresid);
                    $hid = @$rdtarr3[0];
                    $htitle = @$rdtarr3[1];
                    if (is_numeric($rdtarr3[0])) {
                        $hid = $rdtarr3[0];
                        $htitle = $rdtarr3[1];
                    } else {
                        $HotelArray = $this->_objPackage->getHotelbyname(trim(@$rdtarr3[0]));
                        if (count($HotelArray) == 0) {
                            $newAccomodation = array(
                                'IsAgentSpec' => '1',
                                'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                'Title' => isset($rdtarr3[0]) ? trim($rdtarr3[0]) : '0',
                                //                                        'AccomGrSysId' => '0',
                                'AliasAndMeta' => '',
                                'ShortName' => '',
                                'PlaceSysId_XRef' => isset($cityid) ? trim($cityid) : '0',
                                'Icon' => '',
                                'ThumnailImg' => '',
                                'DetailImg' => '',
                                'Stars' => '0',
                                'Rating' => '0',
                                'Popularity' => '0',
                                'AwardRecognizations' => '',
                                'PropertyType' => '0',
                                'EconomyType' => '0',
                                'AccoAminitiesMask' => '',
                                'MaxPaxCount' => '0',
                                'RoomCounts' => '0',
                                'Brief' => '',
                                'CheckinTime' => '',
                                'CheckOutTime' => '',
                                'IsDayLightApp' => '',
                                'GeoLat' => '0',
                                'GeoLong' => '0',
                                'Address' => '0',
                                'PinCode' => '0',
                                'CitySysId' => isset($cityid) ? trim($cityid) : '0',
                                'ZoneSysId' => '0',
                                'ZoneType' => '0',
                                'StateSysId' => '0',
                                'ContSysId' => isset($countryId) ? $countryId : '0',
                                'UpdateDate' => $this->currentDate,
                                'ApproveDate' => $this->currentDate,
                                'ApproveBy' => '0',
                                'CreateDate' => $this->currentDate,
                                'IsApproved' => '0',
                                'IsActive' => '1',
                                'IsMarkForDel' => '0',
                            );
                            $objHotel = new Travel_Model_TblHotel();
                            $intLastInsertId = $objHotel->addAccomodation($newAccomodation, $hotel_chain = '1');
                            $hid = @$intLastInsertId;
                            $htitle = @$rdtarr3[0];
                        } else {

                            $hid = $HotelArray['AccomSysId'];
                            $htitle = @$rdtarr3[0];
                        }
                    }
                    if ($hid > 0) {
                        $isSelected = 1; //($l == 0) ? 1 : 0;
                        //                            $roomType = @$post['room_type_' . $tpsysID];
                        //                            $mealType = @$post['meal_type_' . @$tpsysID];
                        $data2 = array(
                            'InvnItemSysId' => '0',
                            'XrefInvtSysId' => '0',
                            'TPIntSysId' => $itenId,
                            'SeqId' => '0',
                            'AgencySysId' => $this->intLoggedinUserAgencySysId,
                            'AccoSysId' => @$hid,
                            'Title' => @$htitle,
                            'RoomType' => !empty($roomType) ? trim($roomType) : '0',
                            'MealPlanType' => !empty($mealType) ? trim($mealType) : '0',
                            'RoomNumber' => '0',
                            'CheckInTime' => '00:00:00',
                            'CheckOutTime' => '00:00:00',
                            'XRefCityId' => isset($cityid) ? trim($cityid) : '0',
                            'FromDate' => $this->currentDate,
                            'ToDate' => $this->currentDate,
                            'TotalPax' => '0',
                            'TotalCost' => '0',
                            'TotalNights' => '0',
                            'StarRating' => '0',
                            'TotalCostGen' => '0',
                            'TotalCostSO' => '0',
                            'TotalCostDO' => '0',
                            'TotalCostTO' => '0',
                            'Discounts' => '0',
                            'Taxes' => '0',
                            'CurrencyType' => '1',
                            'NetCost' => '0',
                            'IsSelectedOnPkg' => $isSelected,
                            'CreateDate' => $this->currentDate,
                            'UpdateDate' => $this->currentDate,
                            'IsMarkForDel' => '0',
                            'IsActive' => '1'
                        );
                        $hotId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Accom', $data2);
                    }
                }
                //                } 
            } else {
                for ($r = 0; $r < count($post['cityday']); $r++) {
                    $rdtarr = array();
                    $rdtarr = explode("_", @$post['cityday'][$r]);
                    $cityid = $rdtarr[0];
                    $seqid = $rdtarr[1];
                    $itenId = $TPIntSysIdsArr[$r];

                    $objCity = new Travel_Model_TblCity();
                    $objCity->intCityId = $cityid;
                    $cityArray = $objCity->getCityList();
                    $countryId = $cityArray[0]['ContSysId'];

                    //                    $title = $post['title_' . $tpsysID . '_' . $cityid . '_' . $seqid];
                    //                    $detail = $post['detail_' . $tpsysID . '_' . $cityid . '_' . $seqid];
                    //                    $itndata = array(
                    //                        'Title' => $title,
                    //                        'Details' => $detail,
                    //                        'UpdateDate' => $this->currentDate
                    //                    );
                    //                    $where = array('TPSysId = ? ' => $tpsysID);
                    //                    $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Itenary', $itndata, $where);

                    $deldata = array(
                        'UpdateDate' => $this->currentDate,
                        'IsMarkForDel' => '1',
                        'IsActive' => '0'
                    );
                    $delsightdata = array(
                        'UpdateDate' => $this->currentDate,
                        'IsMarkForDelete' => '1',
                        'IsActive' => '0'
                    );



                    $where = array(
                        'TPIntSysId = ? ' => @$itenId,
                        'CityId = ? ' => @$cityid
                    );
                    $delId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Itenary_Events', $deldata, $where);

                    $where1 = array(
                        'InvnItemSysId = ? ' => @$itenId,
                        'CityId = ? ' => @$cityid
                    );
                    $delId1 = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_SightSeeing', $delsightdata, $where1);

                    $where2 = array(
                        'TPIntSysId = ? ' => @$itenId,
                        'XRefCityId = ? ' => @$cityid
                    );
                    $delId2 = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Accom', $deldata, $where2);


                    for ($q = 0; $q < count(@$post['act_' . @$post['cityday'][$r]]); $q++) {

                        $rdtarr1 = array();
                        $rdtarr1 = explode("_", @$post['act_' . @$post['cityday'][$r]][$q]);

                        if (is_numeric($rdtarr1[0])) {
                            $resactid = @$rdtarr1[0];
                            $resacttitle = @$rdtarr1[1];
                        } else {

                            $insert = array(
                                'IsAgentSpec' => '1',
                                'AgentSysId' => $this->intLoggedinUserId,
                                'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                'StartPlaceSysId' => '0',
                                'EndPlaceSysId' => '0',
                                'Title' => @$rdtarr1[0],
                                'WriteUp' => '0',
                                'DifficultyLevel' => '0',
                                'AliasAndMeta' => '0',
                                'ActivityGrType' => '0',
                                'ActivityType' => '0',
                                'ActivityIncMask' => '0',
                                'DurationInMin' => '0',
                                'DurationStr' => '0',
                                'Icon' => '0',
                                'ThumnailImg' => '0',
                                'DetailImg' => '0',
                                'MinPax' => '0',
                                'MaxPax' => '0',
                                'PeakMothMask' => '0',
                                'LeanMonthMask' => '0',
                                'SilentMonthMask' => '0',
                                'IsTransferInc' => '0',
                                'IsKidAllowed' => '0',
                                'IsTeenAllowed' => '0',
                                'IsAdultAllowed' => '0',
                                'IsPetAllowed' => '0',
                                'IsTrxAllowed' => '0',
                                'IsPickAllowed' => '0',
                                'StartAgeYr' => '0',
                                'EndAgeYr' => '0',
                                'Rating' => '0',
                                'Popularity' => '0',
                                'ThingsToCarry' => '0',
                                'AwardRecognizations' => '0',
                                'BookingType' => '0',
                                'DifficultyType' => '0',
                                'DaysWeekMask' => '0',
                                'StartLocalTime' => '',
                                'EndLocalTime' => '',
                                'TimeSlots' => '0',
                                'IsDayLightApp' => '0',
                                'Address' => '0',
                                'PinCode' => '0',
                                'CitySysId' => isset($cityid) ? $cityid : '0',
                                'ZoneSysId' => '0',
                                'ZoneType' => '0',
                                'StateSysId' => '0',
                                'ContSysId' => isset($countryId) ? $countryId : '0',
                                'PickUpLocation' => '0',
                                'PrimaryContact' => '0',
                                'SecondaryContact' => '0',
                                'OtherContacts' => '0',
                                'UpdateDate' => $this->currentDate,
                                'ApproveDate' => $this->currentDate,
                                'ApproveBy' => '0',
                                'CreateDate' => $this->currentDate,
                                'IsApproved' => '0',
                                'IsActive' => '1',
                                'IsMarkForDel' => '0'
                            );
                            $aId = $this->_objPackage->createActivityData(@$insert);
                            $resactid = @$aId;
                            $resacttitle = @$rdtarr1[0];
                        }

                        $data = array(
                            'TPIntSysId' => $itenId,
                            'Sequence' => $q + 1,
                            'CityId' => $cityid,
                            'AgencySysId' => $this->intLoggedinUserAgencySysId,
                            'TPActivitySysId' => $resactid,
                            'CurrencyType' => '1',
                            'Title' => $resacttitle,
                            'Type' => 'Included',
                            'Cost' => '0',
                            'CreateDate' => $this->currentDate,
                            'UpdateDate' => $this->currentDate,
                            'IsMarkForDel' => '0',
                            'IsActive' => '1'
                        );
                        $aId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Itenary_Events', $data);
                    }

                    for ($q = 0; $q < count(@$post['sight_' . @$post['cityday'][$r]]); $q++) {

                        $rdtarr1 = array();
                        $rdtarr1 = explode("_", @$post['sight_' . @$post['cityday'][$r]][$q]);

                        if (is_numeric($rdtarr1[0])) {
                            $sstid = @$rdtarr1[0];
                            $sstitle = @$rdtarr1[1];
                        } else {
                            $insertss = array(
                                'IsAgentSpec' => '1',
                                'AgentSysId' => $this->intLoggedinUserId,
                                'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                'StartPlaceSysId' => '0',
                                'EndPlaceSysId' => '0',
                                'Title' => @$rdtarr1[0],
                                'synonyms' => '0',
                                'WriteUp' => '',
                                'DifficultyLevel' => '0',
                                'AliasAndMeta' => '0',
                                'SSGrType' => '0',
                                'SSType' => '0',
                                'SSIncMask' => '0',
                                'DurationInMin' => '0',
                                'DurationStr' => '0',
                                'Icon' => '',
                                'ThumnailImg' => '0',
                                'DetailImg' => '0',
                                'MinPax' => '0',
                                'MaxPax' => '0',
                                'PeakMothMask' => '0',
                                'LeanMonthMask' => '0',
                                'SilentMonthMask' => '0',
                                'IsTransferInc' => '0',
                                'IsKidAllowed' => '0',
                                'IsTeenAllowed' => '0',
                                'IsAdultAllowed' => '0',
                                'IsPetAllowed' => '0',
                                'IsTrxAllowed' => '0',
                                'IsPickAllowed' => '0',
                                'StartAgeYr' => '0',
                                'EndAgeYr' => '0',
                                'Rating' => '0',
                                'Popularity' => '0',
                                'ThingsToCarry' => '0',
                                'AwardRecognizations' => '0',
                                'BookingType' => '0',
                                'DifficultyType' => '0',
                                'DaysWeekMask' => '0',
                                'StartLocalTime' => '',
                                'EndLocalTime' => '',
                                'TimeSlots' => '0',
                                'IsDayLightApp' => '0',
                                'Address' => '',
                                'latitude' => '0',
                                'longitude' => '0',
                                'PinCode' => '0',
                                'CitySysId' => isset($cityid) ? $cityid : '0',
                                'ZoneSysId' => '0',
                                'ZoneType' => '0',
                                'StateSysId' => '0',
                                'ContSysId' => isset($countryId) ? $countryId : '0',
                                'PickUpLocation' => '0',
                                'PrimaryContact' => '0',
                                'SecondaryContact' => '0',
                                'OtherContacts' => '0',
                                'UpdateDate' => $this->currentDate,
                                'ApproveDate' => $this->currentDate,
                                'ApproveBy' => '0',
                                'CreateDate' => $this->currentDate,
                                'IsApproved' => '0',
                                'IsActive' => '1',
                                'IsMarkForDel' => '0'
                            );
                            $objSightseeing = new Travel_Model_TblSightseeing();
                            $intLastInsertId = $objSightseeing->addSightseeingDetails($insertss);
                            $sstid = @$intLastInsertId;
                            $sstitle = @$rdtarr1[0];
                        }
                        $data = array(
                            'InvnItemSysId' => @$itenId,
                            'SeqId' => $q + 1,
                            'CityId' => $cityid,
                            'AgencySysId' => $this->intLoggedinUserAgencySysId,
                            'SSSysId' => $sstid,
                            'Title' => $sstitle,
                            'Type' => 'Included',
                            'Cost' => '0',
                            'FromDate' => $this->currentDate,
                            'ToDate' => $this->currentDate,
                            'BookingType' => '0',
                            'Qty' => '0',
                            'IfAnyOffer' => '0',
                            'OfferMsg' => '0',
                            'OfferImage' => '0',
                            'IxFixedDateInven' => '0',
                            'CreateDate' => $this->currentDate,
                            'UpdateDate' => $this->currentDate,
                            'IsMarkForDelete' => '0',
                            'IsActive' => '1'
                        );
                        $ssId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_SightSeeing', $data);
                    }


                    $hotelresid = @$post[$tpsysID . '_' . @$post['cityday'][$r]];
                    for ($l = 0; $l < count(@$hotelresid); $l++) {
                        $rdtarr3 = array();
                        $rdtarr3 = explode("_", @$hotelresid[$l]);

                        if (is_numeric($rdtarr3[0])) {
                            $hid = @$rdtarr3[0];
                            $htitle = @$rdtarr3[1];
                        } else {
                            $newAccomodation = array(
                                'IsAgentSpec' => '1',
                                'ICSourceSysId' => $this->intLoggedinUserAgencySysId,
                                'Title' => isset($rdtarr3[0]) ? trim($rdtarr3[0]) : '0',
                                //                                        'AccomGrSysId' => '0',
                                'AliasAndMeta' => '',
                                'ShortName' => '',
                                'PlaceSysId_XRef' => isset($cityid) ? trim($cityid) : '0',
                                'Icon' => '',
                                'ThumnailImg' => '',
                                'DetailImg' => '',
                                'Stars' => '0',
                                'Rating' => '0',
                                'Popularity' => '0',
                                'AwardRecognizations' => '',
                                'PropertyType' => '0',
                                'EconomyType' => '0',
                                'AccoAminitiesMask' => '',
                                'MaxPaxCount' => '0',
                                'RoomCounts' => '0',
                                'Brief' => '',
                                'CheckinTime' => '',
                                'CheckOutTime' => '',
                                'IsDayLightApp' => '',
                                'GeoLat' => '0',
                                'GeoLong' => '0',
                                'Address' => '0',
                                'PinCode' => '0',
                                'CitySysId' => isset($cityid) ? trim($cityid) : '0',
                                'ZoneSysId' => '0',
                                'ZoneType' => '0',
                                'StateSysId' => '0',
                                'ContSysId' => isset($countryId) ? $countryId : '0',
                                'UpdateDate' => $this->currentDate,
                                'ApproveDate' => $this->currentDate,
                                'ApproveBy' => '0',
                                'CreateDate' => $this->currentDate,
                                'IsApproved' => '0',
                                'IsActive' => '1',
                                'IsMarkForDel' => '0',
                            );
                            $objHotel = new Travel_Model_TblHotel();
                            $intLastInsertId = $objHotel->addAccomodation($newAccomodation, $hotel_chain = '1');
                            $hid = @$intLastInsertId;
                            $htitle = @$rdtarr3[0];
                        }
                        if ($hid > 0) {
                            $isSelected = ($l == 0) ? 1 : 0;

                            $roomType = @$post['room_type_' . $tpsysID . '_' . @$post['cityday'][$r]];
                            $mealType = $post['meal_type_' . $tpsysID . '_' . $post['cityday'][$r]];
                            //                            echo $mealType; die;
                            $data = array(
                                'TPIntSysId' => @$itenId,
                                'SeqId' => @$l + 1,
                                'AgencySysId' => $this->intLoggedinUserAgencySysId,
                                'AccoSysId' => @$hid,
                                'Title' => @$htitle,
                                'RoomType' => !empty($roomType) ? trim($roomType) : '0',
                                'MealPlanType' => !empty($mealType) ? trim($mealType) : '0',
                                'RoomNumber' => '0',
                                'CheckInTime' => '00:00:00',
                                'CheckOutTime' => '00:00:00',
                                'XRefCityId' => @$cityid,
                                'FromDate' => $this->currentDate,
                                'ToDate' => $this->currentDate,
                                'TotalPax' => '0',
                                'TotalCost' => '0',
                                'TotalNights' => '0',
                                'StarRating' => '0',
                                'TotalCostGen' => '0',
                                'TotalCostSO' => '0',
                                'TotalCostDO' => '0',
                                'TotalCostTO' => '0',
                                'Discounts' => '0',
                                'Taxes' => '0',
                                'CurrencyType' => '1',
                                'IsSelectedOnPkg' => $isSelected,
                                'NetCost' => '0',
                                'CreateDate' => $this->currentDate,
                                'UpdateDate' => $this->currentDate,
                                'IsMarkForDel' => '0',
                                'IsActive' => '1'
                            );
                            //print_r($data);
                            $hotId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Accom', $data);
                        }
                    }
                }
            }
            $this->_redirect("/modify-package/update-proposal/id/$tpsysID/param/3");
            exit;
        }
    }
    public function updateCustomerProposalReadymadeOtherAction()
    {
        $this->_helper->layout->disableLayout();
        $tpsysID = $this->getRequest()->getParam('PackageId');
        //$this->getRequest()->getParam('id');
        $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
        $flexiPackageItenList = $this->_crmcusttravelplan->GetCustomerTravelPlanItenary($tpsysID);
        $this->view->flexiPackageItenList = $flexiPackageItenList;
        $this->view->flexiPackageList = $flexiPackageList[0];
    }
    public function updateCustomerProposalReadymadeTncAction()
    {
        $this->_helper->layout->disableLayout();
        $tpsysID = $this->getRequest()->getParam('PackageId');

        $this->currentDate = date('Y-m-d H:i:s');

        if (!empty($tpsysID)) {

            $packageTncList = $this->_crmcusttravelplan->GetCustomerTravelPlanTermsCond($tpsysID);
            if (count($packageTncList) == 0) {
                $objAgency = new Travel_Model_TblAgency();
                $packageTncList = $objAgency->getAgencyTnCDetails($this->intLoggedinUserAgencySysId);
            }
            $this->view->packageTncList = $packageTncList;

            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            $this->view->flexiPackageList = $flexiPackageList[0];
        }
    }
    public function updateCustomerProposalReadymadeTncSaveAction()
    {
        $this->_helper->layout->disableLayout();

        if ($this->getRequest()->isPost()) {
            $tpsysID = $this->getRequest()->getParam('TPSysId');
            $data = array(
                'Inclusions' => $this->getRequest()->getParam('Inclusions'),
                'Exclusions' => $this->getRequest()->getParam('Exclusions'),
                'CancellationPolicy' => $this->getRequest()->getParam('CancellationPolicy'),
                'TravelBasics' => $this->getRequest()->getParam('TravelBasics'),
                'TermsAndConditions' => $this->getRequest()->getParam('TermsAndConditions'),
                'BookingTerms' => $this->getRequest()->getParam('BookingTerms'),
                'WhyUseUs' => $this->getRequest()->getParam('WhyUseUs'),
                'UpdateDate' => $this->currentDate
            );
            $where = array('TPIntSysId = ? ' => $tpsysID);
            $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Terms_Conditions', $data, $where);
            $this->_redirect("/modify-package/update-proposal/id/$tpsysID/param/5");
            exit;
        }
    }
    public function updateCustomerProposalReadymadeCostsheetAction()
    {
        $this->_helper->layout->disableLayout();
        $tpsysID = $this->getRequest()->getParam('PackageId');
        $params = Zend_Controller_Front::getInstance()->getRequest()->getParams();
        $this->view->params = $params;

        //echo $this->getRequest()->getParam('id');		
        if ($tpsysID > 0) {
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            $this->view->flexiPackageList = $flexiPackageList[0];

            $packageCancelPolicyList = $this->_crmcusttravelplan->GetCustomerTravelPlanCancelPolicy($tpsysID);
            $this->view->packageCancelPolicyList = $packageCancelPolicyList;
        }
    }
    public function addDayItenaryReadymadeAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);

        if ($this->getRequest()->isPost()) {
            $getData = $this->getRequest()->getPost();
            $tpSysId = $getData['packageId'];
            $this->_objPackage = new Travel_Model_TblPackage();
            $flexiPackageList1 = $this->_crmcusttravelplan->GetCustomerTravelPlanItenary($tpSysId);

            $flexiPackageList = @$flexiPackageList1[0];
            $reversePackageItenList = array_reverse($flexiPackageList1);
            $fromVal = $getData['fromval'];
            if (!empty($flexiPackageList1) && $reversePackageItenList[0]['CitySysId'] == $getData['cityId']) {
                $fromVal = $fromVal + 1;
            }
            //            echo '<pre>'.$fromVal;
            //            print_r($flexiPackageList1);
            //            print_r($flexiPackageList1);
            //            die;
            if (empty($flexiPackageList1)) { // this case occurs if all itenary are deleted present in table
                $flexiPackageList = $this->_crmcusttravelplan->GetDeletedCustomerTravelPlanItenary($tpSysId);
            }
            for ($day = $fromVal; $day <= $getData['toval']; $day++) {
                $intLastInsertId = '';
                $flexiPackageItenData = array(
                    'TPSysId' => isset($tpSysId) ? $tpSysId : '0',
                    'Sequence' => isset($day) ? $day : '0',
                    'AgencySysId' => $flexiPackageList['AgencySysId'],
                    'Title' => '0',
                    'Details' => '0',
                    'InclMask' => isset($flexiPackageList['InclMask']) ? $flexiPackageList['InclMask'] : '0',
                    'InclCatMask' => '0',
                    'ExclusionMask' => isset($flexiPackageList['ExclusionMask']) ? $flexiPackageList['ExclusionMask'] : '0',
                    'InclCatMask' => '0',
                    'PackInclMask' => isset($flexiPackageList['InclMask']) ? $flexiPackageList['InclMask'] : '0',
                    'PackTypeMask' => isset($flexiPackageList['PackTypeMask']) ? $flexiPackageList['PackTypeMask'] : '0',
                    'ImageTN' => '0',
                    'ImgForList' => '0',
                    'ImgeDetails' => '0',
                    'StartDate' => $this->currentDate,
                    'EndDate' => $this->currentDate,
                    'Rating' => '0',
                    'TotalMinDays' => '0',
                    'TotalMaxDays' => '0',
                    'Hotels' => 1,
                    'PopularPlaces' => '0',
                    'CitySysId' => isset($getData['cityId']) ? $getData['cityId'] : '0',
                    'Cities' => isset($getData['city']) ? $getData['city'] : '0',
                    'Countries' => '0',
                    'CreateDate' => $this->currentDate,
                    'UpdateDate' => $this->currentDate,
                    'IsMarkForDel' => '0',
                    'IsActive' => '1'
                );
                $intLastInsertId = $this->_crmcustomertravelItenary->addCustomerTravelItenary($flexiPackageItenData); //add new itenary
                //                $intLastInsertId = $this->_objPackage->addFlexiPackageIten($flexiPackageItenData);

                $flexiPackageItenPalceData = array(
                    'TPSysId' => isset($tpSysId) ? $tpSysId : '0',
                    'TPIntSysId' => isset($intLastInsertId) ? $intLastInsertId : '0',
                    'AgencySysId' => $flexiPackageList['AgencySysId'],
                    'PlaceSysId' => isset($getData['cityId']) ? $getData['cityId'] : '0',
                    'Sequence' => isset($day) ? $day : '0',
                    'CreateDate' => $this->currentDate,
                    'UpdateDate' => $this->currentDate,
                    'IsMarkForDel' => '0',
                    'IsActive' => '1'
                );
                $this->_crmcustomertravelItenaryPlaces->addCustomerTravelItenaryPlaces($flexiPackageItenPalceData);
                //                $this->_objPackage->addFlexiPackageItenPlaces($flexiPackageItenPalceData);
            }
        }
    }
    public function updateDayItenaryReadymadeAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        if ($this->getRequest()->isPost()) {
            $getData = $this->getRequest()->getPost();
            $flexiPackageItenData = array(
                'Title' => @$getData['title'],
                'Details' => @$getData['detail'],
                'UpdateDate' => $this->currentDate,
                'IsMarkForDel' => '0',
                'IsActive' => '1'
            );

            $where = array('TPIntSysId = ? ' => $getData['itenid']);
            $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Itenary', $flexiPackageItenData, $where);
        }
    }
    public function updatePackageMinpaxAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        $getData = $this->getRequest()->getPost();
        $TPSysId = $getData['packid'];
        $minpax = $getData['minpax'];
        $pricerange = $getData['pricerange'];

        $data = array(
            'MinPax' => @$minpax,
            'PriceRange' => @$pricerange,
            'AdvBookingPercent' => isset($getData['advancerule']) ? $getData['advancerule'] : '10',
            'AdvBookingDays' => isset($getData['balancerule']) ? $getData['balancerule'] : '30',
            'UpdateDate' => $this->currentDate
        );
        $where = array('TPSysId = ? ' => $TPSysId);
        $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan', $data, $where);
        exit;
    }
    public function updatepackagevalidityAction()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        $TPSysId = $getData['packageId'];
        $date1 = str_replace('/', '-', $getData['date']);
        $date = date("Y-m-d", strtotime($date1));
        $data = array(
            'PkgSellValidTill' => $date
        );
        $where = array('TPSysId = ? ' => $TPSysId);
        $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan', $data, $where);
        //echo $isActive; exit;
    }
    public function deletePackRateAction()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        $tpratesheetid = $getData['tpratesheetid'];
        $packtpratesheetid = $getData['packtpratesheetid'];
        $data = array(
            'IsMarkForDel' => '1',
            'UpdateDate' => $this->currentDate
        );
        $where = array('TPIntSysId = ? ' => $tpratesheetid);
        $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_MarketWise_Rate', $data, $where);
        $wherePack = array('TPSysId = ? ' => $tpratesheetid);
        $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Rate', $data, $wherePack);
        echo "prashant";
        exit;
    }
    public function packageMarketwiseRateAction()
    {
        $this->_helper->layout->disableLayout();
        $getData = $this->getRequest()->getPost();
        $packageId = $getData['packageId'];
        $marketPlaceArr = explode('_', $getData['marketPlace']);
        $MarketPlaceId = $marketPlaceArr[0];
        $MarketPlace = $marketPlaceArr[1];
        $fromDate = date("Y-m-d", strtotime(str_replace('/', '-', $getData['fromdate'])));
        $toDate = date("Y-m-d", strtotime(str_replace('/', '-', $getData['todate'])));

        $fromDateData = $this->_crmcusttravelplan->GetDuplicateCustomerMarketwiserateDate($getData['packageId'], $fromDate, $MarketPlaceId);
        $toDateData = $this->_crmcusttravelplan->GetDuplicateCustomerMarketwiserateDate($getData['packageId'], $toDate, $MarketPlaceId);

        if (!empty($fromDateData) && !empty($toDateData) ) {
            echo 2; //"From Date and To Date are existing between period of $frmDate and  $toDate";  
            exit;
        }

        if (!empty($fromDateData)) {
            echo 2; //"From Date is existing between period of $frmDate and  $toDate";
            exit;
        }

        if (!empty($toDateData) ) {
            echo 2; //"To Date is existing between period of $frmDate and  $toDate";
            exit;
        }

        $columnArray = array(2 => "NewCostTwoPaxId", 4 => "NewCostFourPaxId", 6 => "NewCostSixPaxId", 8 => "NewCostEightPaxId", 10 => "NewCostTenPaxId", 12 => "NewCostTwelvePaxId");
        $columnArraySet = array(2 => "CostTwoPax", 4 => "CostFourPax", 6 => "CostSixPax", 8 => "CostEightPax", 10 => "CostTenPax", 12 => "CostTwelvePax");
        $i = 0;
        foreach ($columnArray as $arrayKey => $arrayVal) {
            $data11 = array(
                'TPIntSysId' => $getData['packageId'],
                'MarkType' => $getData['MarkType'],
                'MarketPlaceId' => $MarketPlaceId,
                'MarketPlace' => $MarketPlace,
                'AgencySysId' =>  $this->intLoggedinUserAgencySysId,
                'Permission' => !empty($getData['permission']) ? $getData['permission'] : 1,
                'MarkPercent' => !empty($getData['markup']) ? $getData['markup'] : 0,
                'CostPPDO' => !empty($getData[$arrayVal]) ? $getData[$arrayVal] : 0,
                'PricePerPerson' => !empty($getData[$arrayVal]) ? $getData[$arrayVal] : 0,
//                'CostFourO' => 0,
//                'CostSixO' => 0,
//                'CostEightO' => 0,
//                'CostTenO' => 0,
//                'CostTwelveO' => 0,
                'CostInfent' => !empty($getData['NewCostPerInfentId']) ? $getData['NewCostPerInfentId'] : 0,
                'CostPPSO' => !empty($getData['NewCostExtraSOId']) ? $getData['NewCostExtraSOId'] : 0,
                'AdultCostExtraBed' => !empty($getData['NewCostPerAdultExtraBedId']) ? $getData['NewCostPerAdultExtraBedId'] : 0,
                'CostExtraBed' => !empty($getData['NewCostPerChildExtraBedId']) ? $getData['NewCostPerChildExtraBedId'] : 0,
                'CostChildWithoutBed' => !empty($getData['NewCostPerChildWithExtraBedId']) ? $getData['NewCostPerChildWithExtraBedId'] : 0,
                'FixedDepartureInventory' => !empty($getData['inventoryqty']) ? $getData['inventoryqty'] : 0,
//                'CostPPTO' => 0,
                'PackCategoryId' => !empty($getData['packType']) ? $getData['packType'] : 0,
                'Tax' => !empty($getData['tax']) ? $getData['tax'] : 'Included',
                'ExcludedPercent' => ($getData['tax'] == 'Excluded') ? $getData['taxres'] : 0,
                'FromDate' => $fromDate,
                'TourType' => 1,
                'ToDate' => $toDate,
                'CurrencyType' => $getData['currency'],
                'CreateDate' => $this->currentDate,
                'UpdateDate' => $this->currentDate,
                'IsMarkForDel' => '0',
                'IsActive' => '1',
                'Pax' => $arrayKey
            );
            $ratecurrencyArr = explode('_', $getData['ratecurrency']);
            $ratecurrencyId = $ratecurrencyArr[0];
            $ratecurrency = $ratecurrencyArr[1];
            $keyColumn = $columnArraySet[$arrayKey];
            $data = array(
                'TPSysId' => $getData['packageId'],
                'MasterRefId' => '0',
                'MarketPlaceId' => $MarketPlaceId,
                'CurrencyType' => $ratecurrencyId,
                'CostSO' => $getData['CostExtraSO'] ? $getData['CostExtraSO'] : 0,
//                'CostTO' => 0,
                'AdultCostExtraBed' => $getData['CostPerAdultExtraBed'] ? $getData['CostPerAdultExtraBed'] : 0,
                'CostExtraBed' => $getData['CostPerChildExtraBed'] ? $getData['CostPerChildExtraBed'] : 0,
                'CostWithoutBed' => $getData['CostPerChildWithExtraBed'] ? $getData['CostPerChildWithExtraBed'] : 0,
                'CostDO' => !empty($getData[$keyColumn]) ? $getData[$keyColumn] : 0,
//                'CostFourO' => 0,
//                'CostSixO' => 0,
//                'CostEightO' => 0,
//                'CostTenO' => 0,
//                'CostTwelveO' => 0,
                'CostInfent' => !empty($getData['CostPerInfent']) ? $getData['CostPerInfent'] : 0,
                'FixedDepartureInventory' => !empty($getData['inventoryqty']) ? $getData['inventoryqty'] : 0,
                'StartDate' => $fromDate,
                'ValidTill' => $toDate,
                'IsAprooved' => '1',
                'CreateDate' => $this->currentDate,
                'UpdateDate' => $this->currentDate,
                'IsMarkForDel' => '0',
                'IsActive' => '1',
                'Pax' => $arrayKey
            );
            $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_MarketWise_Rate', $data11);
            $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Rate', $data);

            $i++;
        }

        $tpsysID = $packageId;

        if ($tpsysID > 0) {
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            $this->view->flexiPackageList = $flexiPackageList[0];

            $packageCancelPolicyList = $this->_crmcusttravelplan->GetCustomerTravelPlanCancelPolicy($tpsysID);
            $this->view->packageCancelPolicyList = $packageCancelPolicyList;
        }
        //$this->view->economyMask = $getData['economyMask'];

    }
    public function updateStatusAction()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        $tpsysID = $getData['packageid'];
        $isActive = ($getData['check'] == 1) ? 1 : 0;
        $data = array(
            'IsActive' => $isActive
        );

        $where = array('TPSysId = ? ' => $tpsysID);
        $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan', $data, $where);
        echo $isActive;
        exit;
    }
    public function sendmodifiedpackageproposalAction()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        if ($getData) { // print_r($getData); die;

            $tpsysID = $getData['TPSysId'];
            $pricetype = $getData['pricetype'];
            $aboutpackage = $getData['aboutpackage'];
            $tripaddress = $getData['tripaddress'];
            $pricerange = $getData['pricerange'];
            $IsShareWithGST = isset($getData['GSTIncluded']) ? $getData['GSTIncluded'] : 0;
            $ShareCurrencyArr = explode('_', $getData['ShareCurrency']);
            $ExchangeRate = $getData['ExchangeRate'];
            $EmailTemplateType = $getData['EmailTemplateType'];
            $EmailTemplateColor = $getData['EmailTemplateColor'];
            $selectedCustomerId = isset($getData['selectedCustomerId']) ? base64_decode($getData['selectedCustomerId']) : '';

            $flexiPackageList = $this->_objPackage->getCustPackageList($tpsysID);
            $RoomInfoJson = Zend_Json::Decode($flexiPackageList['RoomInfoJson']);
            $totalchild = 0;
            $totaladult = 0;
            $totalInfant = 0;
            for ($k = 1; $k <= count($RoomInfoJson); $k++) {
                $totaladult = $totaladult + @$RoomInfoJson[$k]['Adult'];
                $totalchild = $totalchild + @$RoomInfoJson[$k]['Child'];
                $totalInfant = $totalInfant + @$RoomInfoJson[$k]['Infant'];
            }

            $travellers = $totalchild + $totaladult;
            $agencySysId = $flexiPackageList['AgencySysId'];

            $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
            $firstname = $sessionLogin_user->FirstName ? $sessionLogin_user->FirstName . ' ' . $sessionLogin_user->LastName : 'Agent';
            $primarycontact = $sessionLogin_user->ContactNo1 ? $sessionLogin_user->ContactNo1 : 'N/A';
            //         print_r($sessionLogin_user->agencyDetails); die;
            //            $IsEmailIdForCustVarified = trim($sessionLogin_user->agencyDetails['IsEmailIdForCustVarified']);
            //            $EmailIdForCustomer = trim($sessionLogin_user->agencyDetails['EmailIdForCustomer']);
            $agencyDisplayName = trim($sessionLogin_user->agencyDetails['DisplayName']);
            $PrimaryEmail = trim($sessionLogin_user->agencyDetails['PrimaryEmail']);
            $sendersEmailId = trim($sessionLogin_user->EmailId);
            //            $sendersEmailId = ($IsEmailIdForCustVarified == 1) ? $EmailIdForCustomer : $AgentEmailId;            
            $agencyDisplayName = (!empty($agencyDisplayName)) ? $agencyDisplayName : trim($sessionLogin_user->agencyDetails['Title']);
            $Logo = $sessionLogin_user->Logo;

            if ($pricetype == "wop" && !empty($pricerange)) {
                $updatetravelplan['PriceRange'] = $pricerange;
                $updatetravelplan['IsPriceShared'] = 0;
            } else {
                //                $updatetravelplan['PriceRange'] = '';
                $updatetravelplan['IsPriceShared'] = 1;
            }

            $NetCost = $getData['NetCost1'];
            $MarkupArray = $getData['MarkUp'];
            $discountValue = $getData['discountValue'];
            $GTXMarkUp = $getData['GTXMarkUp1'];
            $AgencyMarkUp = $getData['AgencyMarkUp1'];
            //            $NetPrice = $getData['displayFinalValueWithStax1'];
            $cardcharges = isset($getData['cardcharges']) ? $getData['cardcharges'] : 0;
            $gsttype = !empty($getData['gsttype']) ? $getData['gsttype'] : '';
            $SACCode = !empty($getData['sac_code']) ? $getData['sac_code'] : 440063; // default value 440063 for Tour Oprators..

            //calculate GST added by Er Amit Kumar Dubey on 17 august 2017 at 04:19 PM
            $GSTApplicableOn    = $gsttype;
            $packageCost        = $NetCost;
            $AgencyExtraMarkUp  = $MarkupArray[0];
            $AgencyDiscount     = $discountValue[0];
            $intProductType     = 9;
            $intProductGeoType  = 1; // 1 For Domestic, 2 For International


            $arrInputData = array(
                "GSTApplicableOn"   => $GSTApplicableOn,
                "intProductType"    => $intProductType,
                "intProductGeoType" => $intProductGeoType,
                "Cost"              => $packageCost,
                "AgencyMarkUp"      => $AgencyMarkUp,
                "AgencyExtraMarkUp" => $AgencyExtraMarkUp,
                "AgencyDiscount"    => $AgencyDiscount
            );


            $arrGSTCalculations = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->calculateGST($arrInputData);



            // print_r($getData);print_r($arrGSTCalculations);

            //service tax for base fare
            $netPriceArrayServiceTax = 0;
            if ($gsttype == 1) {
                $netPriceArrayServiceTax = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->calculatePercentage($arrGSTCalculations['MyCost'], $arrGSTCalculations['TaxRate']);
            }
            //service tax for GTX MarkUp
            //$GTXMarkupArrayServiceTax = !empty($arrServiceTaxOnNetPayable['serviceTaxAmount'])?$arrServiceTaxOnNetPayable['serviceTaxAmount']:0;
            $GTXMarkupArrayServiceTax = 0;
            //service tax for Agency MarkUp
            $arrServiceTaxOnNetPayableMarkup = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->calculatePercentage($arrGSTCalculations['AgencyExtraMarkUp'], $arrGSTCalculations['TaxRate']);
            //$AgencyMarkupArrayServiceTax = !empty($arrServiceTaxOnNetPayable['serviceTaxAmount'])?$arrServiceTaxOnNetPayable['serviceTaxAmount']:0;
            $AgencyMarkupArrayServiceTax = 0;
            if ($gsttype == 2) {
                $AgencyMarkupArrayServiceTax = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->calculatePercentage($arrGSTCalculations['AgencyMarkUp'], $arrGSTCalculations['TaxRate']);
            }

            //service tax for Agent MarkUp
            $MarkupArrayServiceTax = !empty($arrServiceTaxOnNetPayableMarkup) ? $arrServiceTaxOnNetPayableMarkup : 0;
            //service tax for Discount
            $arrServiceTaxOnNetPayable = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->calculatePercentage($discountValue[0], $arrGSTCalculations['TaxRate']);
            $DiscountArrayServiceTax = !empty($arrServiceTaxOnNetPayable) ? $arrServiceTaxOnNetPayable : 0;
            //end of service tax 

            $NetCost = ($arrGSTCalculations['MyCost'] - $arrGSTCalculations['AgencyMarkUp']);
            $totalCost = (($NetCost + $arrGSTCalculations['AgencyMarkUp'] + $AgencyMarkupArrayServiceTax + $netPriceArrayServiceTax + $arrGSTCalculations['AgencyExtraMarkUp'] + $MarkupArrayServiceTax + $GTXMarkUp) - ($discountValue[0] + $DiscountArrayServiceTax));

            $updatetravelplan['Price'] = $NetCost ? $NetCost : 0;
            //$updatetravelplan['NetPrice'] = $getData['displayFinalValue1'] ? $getData['displayFinalValue1'] : 0;
            $updatetravelplan['NetPrice'] = !empty($totalCost) ? $totalCost : 0;
            $updatetravelplan['DiscountVal'] = 0;
            $updatetravelplan['CustomDiscount'] = ($discountValue[0] > 0) ? $discountValue[0] : 0;
            $updatetravelplan['XServiceTaxAmount'] = $netPriceArrayServiceTax;
            $updatetravelplan['GTXServiceTaxAmount'] = $GTXMarkupArrayServiceTax;
            $updatetravelplan['AgentServiceTaxAmount'] = $AgencyMarkupArrayServiceTax; //$getData['AgencyExclTax'] ? $getData['AgencyExclTax'] : 0;
            $updatetravelplan['AgentsCustomServiceTaxAmount'] = $MarkupArrayServiceTax;
            $updatetravelplan['ServiceTaxOnCustomDiscount'] = $DiscountArrayServiceTax;
            $updatetravelplan['MarkUp'] = ($MarkupArray[0] > 0) ? $MarkupArray[0] : 0;
            $updatetravelplan['GTXMarkup'] = $GTXMarkUp > 0 ? $GTXMarkUp : 0;
            $updatetravelplan['AgencyMarkUp'] = !empty($AgencyMarkUp) ? $AgencyMarkUp : 0;
            $updatetravelplan['IsCardChrgToCustomer'] = $cardcharges;
            $updatetravelplan['DestinationPlaces'] = $tripaddress;
            $updatetravelplan['StatusType'] = 4;
            $updatetravelplan['IsShared'] = 1;
            $updatetravelplan['CurrencyType'] = !empty($ShareCurrencyArr) ? $ShareCurrencyArr[0] : $flexiPackageList['CurrencyType']; // insert shared currency
            $updatetravelplan['ExchangeCurrencyRate'] = !empty($ExchangeRate) ? $ExchangeRate : 1;
            $updatetravelplan['GSTSharedMode'] = $gsttype; // (1 for 5% on total Cost, 2 for 18% on Service Fee) to detect what type and how much tax will apply to customer
            $updatetravelplan['IsSourceCurrency'] = !empty($getData['showPriceSourceCurrency']) ? $getData['showPriceSourceCurrency'] : 0;
            $updatetravelplan['SelectPricingType'] = !empty($getData['SelectPricing']) ? $getData['SelectPricing'] : 'Overall';
            $updatetravelplan['EmailTemplateType'] = !empty($EmailTemplateType) ? $EmailTemplateType : '1';
            $updatetravelplan['EmailTemplateColor'] = !empty($EmailTemplateColor) ? $EmailTemplateColor : 'default';
            $updatetravelplan['IsShareWithGST'] = $IsShareWithGST;
            $updatetravelplan['SACCode'] = $SACCode;
            //added by amit on 13-july-2017 at 12:48 PM
            $updatetravelplan['EmailText'] = stripslashes($aboutpackage);
            //added by amit on 13-july-2017 at 12:49 PM
            $updatetravelplan['EmailDestination'] = stripslashes($tripaddress);
            //            print_r($updatetravelplan); 
            $where = "TPSysId = " . $tpsysID;
            $this->_crmcusttravelplan->UpdateCustomerTravelPlan($updatetravelplan, $where);
            $enctpproposalID = base64_encode($tpsysID);

            $path = SITE_FULL_URL . 'public/assets/images';
            $pathAgency = SITE_FULL_URL . 'public/upload/media/agency/' . $agencySysId;
            if (isset($Logo) && $Logo != '') {
                $AgencyLogo = $pathAgency . '/' . $Logo;
            } else {
                $AgencyLogo = $path . '/gtx-logo-white.png';
            }
            $secureCode = Catabatic_ValidateCustomer::secureCode($enctpproposalID, 1);
            $booknowurl = Catabatic_Helper::getSiteUrl() . '/publicpackage/view-customer-final-package/id/' . $enctpproposalID . '/code/' . $secureCode;


            $AgentSysId = $this->intLoggedinUserId;
            $agentDetails = $this->_crmcusttravelplan->getAgentDetails($AgentSysId);
            if ($agentDetails['IsB2CSite'] == 1) {
                $booknowurl = $agentDetails['Url'] . "detail/index/view/id/" . base64_encode($booknowurl);
            }

            if ($pricetype == 'wop') {
                $sentprice = $pricerange;
            } else {

                $travelplanmarketPrice = $this->_crmcusttravelplan->GetCustomerTravelMarketPrice($tpsysID);
                //                $currencyTypeArr = $this->_crmcusttravelplan->GetCurrencyByCurrencyType($travelplanmarketPrice[0]['CurrencyType']);
                $CurrSymbol = $ShareCurrencyArr[1]; //$currencyTypeArr['Symbol'];
                //                $fp = round($getData['displayFinalValueWithStax1'] / $getData['TotalPax']);
                $fp = round($totalCost, 2);
                // $sentprice = $CurrSymbol . ' ' . $fp; //per person price without discount

                if ($IsShareWithGST == 1) {
                    $sentprice = $CurrSymbol . ' ' . $fp;
                } else {
                    $totalCostF = $fp - ((float) $netPriceArrayServiceTax + (float) $AgencyMarkupArrayServiceTax + (float) $MarkupArrayServiceTax - (float) $DiscountArrayServiceTax);
                    $sentprice = $CurrSymbol . ' ' . round($totalCostF, 2);
                }
            }

            $flexiPackageList = $this->_objPackage->getCustPackageList($tpsysID);
            $params['agency_logo'] = $AgencyLogo;
            $params['trip_address'] = trim($tripaddress);
            $params['shared_url'] = $booknowurl;
            $params['sent_price'] = $sentprice;
            $params['price'] = @$fp; // total price
            $params['travelers'] = array('Adults' => $totaladult, 'Child' => $totalchild, 'Infants' => $totalInfant); // travelers to display
            $params['cust_name'] = $getData['custname'];
            $params['about_package'] = $aboutpackage;
            $params['agent_firstname'] = $firstname;
            $params['agent_primarycontact'] = $primarycontact;
            $params['file_path_location'] = $path;
            $params['sendersEmailId'] = $sendersEmailId;
            $params['agencyDisplayName'] = $agencyDisplayName;
            $params['PrimaryEmail'] = $PrimaryEmail;
            $params['PackageArray'] = @$flexiPackageList;
            $params['agentDetails'] = $agentDetails;
            $params['TPSysId'] = $tpsysID;
            $params['AgentSysId'] = $AgentSysId;
            $params['AgencySysId'] = $agencySysId;
            $params['CustomerSysId'] = $selectedCustomerId;
            $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
            $params['arrEmailStatisticsType'] = $arrEmailStatisticsType[2];
            $params['TourTypeId'] = $flexiPackageList['EconomyMask'];
            $params['IsSMSApi'] = $sessionLogin_user->agencyDetails['IsSMSApi'];
            $subject = 'Updated proposal details '; // . SITE_NAME;

            $emailStatus = Zend_Controller_Action_HelperBroker::getStaticHelper('EmailTemplate')->SendProposalToCustomer($getData['custemail'], $subject, $params);
            $getcustomerdetails = $this->_crmcustomerObj->GetCustomerDetailsByEmail(trim($getData['custemail']), $agencySysId);
            //            print_r($getcustomerdetails);
            $params['customer_contact'] = trim($getcustomerdetails['Contacts']);
            if ($params['customer_contact'] != '') {
                $arrSMSStatisticsType = array_keys(unserialize(ARR_SMS_STATISTICS_TYPE));
                $params['arrSMSStatisticsType'] = $arrSMSStatisticsType[0];
               // $smsStatus = Zend_Controller_Action_HelperBroker::getStaticHelper('Custom')->SendSmsToCustomer($params);
            }
            if ($emailStatus == 1) {
                echo 'Proposal has been shared with customer';
                exit;
            } else {
                echo 'There is some error in sending email. Please try after sometime.';
                exit;
            }
        }
    }
    public function deleteCancellationPolicyAction()
    {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        if (!empty($getData)) {
            $data = array(
                'IsMarkForDel' => 1,
                'IsActive' => 0,
                'UpdateDate' => $this->currentDate
            );
            $where = array('TPRulesSysId = ? ' => $getData['cancelid']);
            $updateId = $this->_objPackage->updateData('TB_Agency_Customer_TravelPlan_Rules', $data, $where);
            echo 1;
            exit;
        }
    }
    public function packageCancelPolicyAction()
    {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $getData = $this->getRequest()->getPost();
        $CurrencyHelperObj = Zend_Controller_Action_HelperBroker::getStaticHelper('Currency');
        $baseCurrencySymbol = $CurrencyHelperObj->getLoggedInAgencyBaseCurrency();
        $packageCancelPolicyList = $this->_crmcusttravelplan->GetCustomerTravelPlanCancelPolicy($getData['packageId']);
        $DaysBeforeArr = array_column($packageCancelPolicyList, 'DaysBefore');
        if (in_array($getData['cancel'], $DaysBeforeArr)) {
            $response = json_encode(array('success' => 0, 'msg' => 'You have already added cancellation rule for this criteria, Please delete if you want to change it.'));
            echo $response;
            exit;
        }
        //        print_r($packageCancelPolicyList);
        //        die;
        $data = array(
            'RuleType' => 1,
            'TPSysId' => $getData['packageId'],
            'TPIntSysId' => 0,
            'Seq' => 0,
            'AgencySysId' => $this->intLoggedinUserAgencySysId,
            'Title' => 'Before ' . $getData['cancel'] . ' Days',
            'DaysBefore' => $getData['cancel'],
            'IsPercentage' => ($getData['cancelpercnt'] > 0) ? 1 : 0,
            'Value' => ($getData['cancelpercnt']) ? $getData['cancelpercnt'] : 0,
            'ExtraValue' => ($getData['cancelAmount']) ? $getData['cancelAmount'] : 0,
            'StartDate' => $this->currentDate,
            'ValidTill' => $this->currentDate,
            'DetailURL' => '',
            'CreateDate' => $this->currentDate,
            'UpdateDate' => $this->currentDate,
            'ApproveDate' => $this->currentDate,
            'IsMarkForDel' => 0,
            'IsActive' => 1,
            'IsApproved' => 1
        );
        $lastInsertedId = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Rules', $data);

        $cancelPolicy = $this->_crmcusttravelplan->getPackageCancelPolicy($lastInsertedId);
        $html = "<tr id = 'ruleid_$cancelPolicy[TPRulesSysId]'><td>$cancelPolicy[Title]</td><td>$cancelPolicy[Value]% + <span class='currency'>$baseCurrencySymbol</span> $cancelPolicy[ExtraValue]</td><td><a href='#' class='btn ls-red-btn btn-sm tooltipLink'  data-placement='top'  onclick='deleteCancellation($cancelPolicy[TPRulesSysId]);' data-toggle='tooltip' data-original-title='Delete'><i class='fa fa-trash-o'></i></a></td></tr>";
        echo json_encode(array('success' => 1, 'msg' => $html));
        exit;
    }
    public function ajaxCostsheetAction()
    {
        $this->_helper->layout->disableLayout();
        $getData = $this->getRequest()->getPost();
        if (!empty($getData)) {
            //        $params = Zend_Controller_Front::getInstance()->getRequest()->getParams();
            $tpsysID = $getData['packageId'];
            $travelplandata = $this->_crmcusttravelplan->GetCustomerTravelPlanByTPID($tpsysID); // get proposal data from customer travel plan
            $this->view->flexiPackageData = $travelplandata[0];
            $this->view->mptypearr = $this->_objPackage->getMarketPlaceList();
            $this->view->params     = $getData;
        }
        //            $this->view->MarketwiseRateData = $this->_crmcusttravelplan->getCustomerPackageMPRate($tpratesheetid);
        //            $this->view->packRateData = $this->_crmcusttravelplan->getCustomerPackageRate($updateId);
        //            $this->view->economyMask = $getData['economyMask'];
    }
    public function deletepkgitenaryAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        $postdata = $this->getRequest()->getPost();
        $ItenaryID = $postdata['ItenaryID'];
        $totitenary = $postdata['totitenary'];
        $tpsysID = $postdata['tpsysID'];
        $where = array('TPIntSysId = ? ' => $ItenaryID);
        $updateData = array('IsMarkForDel' => '1');
        $deleteitenary = $this->_travelplanObj->deleteItenary($where, $updateData);
        $gettpitnsysID = $this->_travelplanObj->GetItenrayIDWithoutDelete($tpsysID);
        //print_r($gettpitnsysID);
        for ($i = 0; $i < count($gettpitnsysID); $i++) {
            $j = $i + 1;
            $where = array('TPIntSysId = ? ' => $gettpitnsysID[$i]);
            $updateData = array('Sequence' => $j);
            $deleteitenary = $this->_travelplanObj->deleteItenary($where, $updateData);
        }
    }
    public function updatePackageSightseenReadymadeAction()
    {
        $this->_helper->layout->disableLayout();
        $objPackage = new Travel_Model_TblPackage();
        $currentDate = date('Y-m-d H:i:s');
        //        echo '<pre>';print_r($_REQUEST); die;
        $travelplandata = $this->_crmcusttravelplan->GetCustomerTravelPlanByTPID($_REQUEST['packageId']); // get proposal data from customer travel plan
        $flexiPackageList = $travelplandata[0];
        $itenArray = $objPackage->getCustPackageItenList($_REQUEST['packageId'], 2);
        if (@$_REQUEST['type'] == 'delete') {
            $data = array(
                'UpdateDate' => @$currentDate,
                'IsMarkForDelete' => '1',
                'IsActive' => '0'
            );
            $where = array(
                'SSSysId = ? ' => @$_REQUEST['sssysId'],
                'InvnItemSysId = ? ' => @$itenArray[0]['TPIntSysId'],
                'IsOptionalSightSeeing = ? ' => 1
            );
            //            print_r($where);die;
            $updateId = $objPackage->updateData('TB_Agency_Customer_TravelPlan_SightSeeing', $data, $where);
        } else {
            $IsOptionalSS = '1';
            //             $getroomdetails = $objPackage->getroominforeadymade($_REQUEST['packageId']);
            $roominfoarray = json_decode($flexiPackageList['RoomInfoJson'], 1);
            $adultcount = 0;
            $childcount = 0;
            for ($k = 1; $k <= count($roominfoarray); $k++) {
                $adultcount = $adultcount + $roominfoarray[$k]['Adult'];
                $childcount = $childcount + $roominfoarray[$k]['Child'];
            }
            $totalactcost = $adultcount * $_REQUEST['CostAdult'] + $childcount * $_REQUEST['CostKids'];
            //            $toCurrency = Zend_Controller_Action_HelperBroker::getStaticHelper('Currency')->getLoggedInAgencyBaseCurrencyId();
            //            $totalBaseCost = Zend_Controller_Action_HelperBroker::getStaticHelper('Currency')->convertRatetoBaseCurrency($totalactcost,$_REQUEST['currency'],$toCurrency);
            //         echo '<pre>'; print_r($ssdaywisearr);
            $objActivities = new Travel_Model_TblActivities();
            $MarketPlaceId = 1; // will change after testing
            $arrStandardMarkups = $objActivities->getStandardMarkupsActivities($_REQUEST['packageId'], $MarketPlaceId);
            $sightDetailsArr['TotalCostNativeAdult'] = $adultcount * $_REQUEST['CostAdult'];
            $sightDetailsArr['TotalCostNativeChild'] = $childcount * $_REQUEST['CostKids'];
            $sightDetailsArr['CustomiseAdultCost'] = $_REQUEST['CostAdult'];
            $sightDetailsArr['CustomiseChildCost'] = $_REQUEST['CostKids'];
            //            echo '<pre>';print_r($sightDetailsArr);
            $TotalCostArr = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->getReadymadeOptionalSightseeingRatesnMarkup($sightDetailsArr, $arrStandardMarkups);
            //             echo '<pre>'; print_r($TotalCostArr);echo '</pre>';
            //                $totalactcost += ($totchld * $TotalCostArr['ChildCost']) + ($totadlt * $TotalCostArr['AdultCost']);
            //                $totalactmarkup += ($totchld * $TotalCostArr['ChildCostMarkup']) + ($totadlt * $TotalCostArr['AdultCostMarkup']);

            $CostNativeAdult = $TotalCostArr['AdultCost'];
            $CostNativeChild = $TotalCostArr['ChildCost'];
            $CostAdultMarkup = $TotalCostArr['AdultCostMarkup'];
            $CostKidsMarkup = $TotalCostArr['ChildCostMarkup'];


            $data = array(
                'InvnItemSysId' => @$itenArray[0]['TPIntSysId'],
                'XrefInvnItemSysId' => @$_REQUEST['XrefInvnItemSysId'],
                'SeqId' => @$_REQUEST['SeqId'],
                'CityId' => @$_REQUEST['CityId'],
                'AgencySysId' => @$_REQUEST['AgencySysId'],
                'SSSysId' => @$_REQUEST['SSSysId'],
                'SupplierSysId' => @$_REQUEST['suppid'],
                'Title' => @$_REQUEST['Title'],
                'Type' => 'Optional',
                'IsOptionalSightSeeing' => $IsOptionalSS,
                //                'Cost' => @$_REQUEST['CostAdult'],
                //                'KidsCost' => @$_REQUEST['CostKids'],
                'Cost' => isset($CostNativeAdult) ? $CostNativeAdult : 0,
                'KidsCost' => isset($CostNativeChild) ? $CostNativeChild : 0,
                'Markup' => isset($CostAdultMarkup) ? $CostAdultMarkup : 0,
                'ChildMarkup' => isset($CostKidsMarkup) ? $CostKidsMarkup : 0,
                'TotalCost' => $totalactcost,
                //                'TotalBaseCost' =>$totalBaseCost,
                'FromDate' => @$currentDate,
                'ToDate' => @$currentDate,
                'BookingType' => '0',
                'Qty' => '0',
                'IfAnyOffer' => '0',
                'OfferMsg' => '0',
                'OfferImage' => '0',
                'IxFixedDateInven' => '0',
                'CreateDate' => @$currentDate,
                'UpdateDate' => @$currentDate,
                'IsMarkForDelete' => '0',
                'IsActive' => '1',
                'CurrencyType' => !empty($_REQUEST['currency']) ? $_REQUEST['currency'] : 1
            );
            $updateId[] = $objPackage->insertData('TB_Agency_Customer_TravelPlan_SightSeeing', $data);
        }

        echo @$updateId[0];
        exit;
    }
    public function ajaxCostsheetMorePaxAction()
    {
        $this->_helper->layout->disableLayout();
        $getData = $this->getRequest()->getPost();
        if (!empty($getData)) {
            //        $params = Zend_Controller_Front::getInstance()->getRequest()->getParams();
            $tpsysID = $getData['packageId'];
            $travelplandata = $this->_crmcusttravelplan->GetCustomerTravelPlanByTPID($tpsysID); // get proposal data from customer travel plan
            $this->view->flexiPackageData = $travelplandata[0];
            $this->view->mptypearr = $this->_objPackage->getMarketPlaceList();
            $this->view->params     = $getData;
        }
        //            $this->view->MarketwiseRateData = $this->_crmcusttravelplan->getCustomerPackageMPRate($tpratesheetid);
        //            $this->view->packRateData = $this->_crmcusttravelplan->getCustomerPackageRate($updateId);
        //            $this->view->economyMask = $getData['economyMask'];
    }
    public function addRowwiseAzaxCostsheetDataAction()
    {
        $this->_helper->layout->disableLayout();
        $objPackage = new Travel_Model_TblPackage();
        $getRequestVal1 = ['des' => $_POST];
        $getRequestVal = $getRequestVal1['des'];
        //        echo "<pre>";print_r($getRequestVal);die;
        $packageId = $getRequestVal['packageId'];
        $inventoryqty = $getRequestVal['inventoryqty'];
        $MarkType = $getRequestVal['MarkType'];

        $marketPlaceArr = explode('_', $getRequestVal['marketPlace']);
        $MarketPlaceId = $marketPlaceArr[0];
        $MarketPlace = $marketPlaceArr[1];
        $fromDate = date("Y-m-d", strtotime(str_replace('/', '-', $getRequestVal['season_from_date'])));
        $toDate = date("Y-m-d", strtotime(str_replace('/', '-', $getRequestVal['season_to_date'])));

        $fromDateData = $this->_crmcusttravelplan->GetDuplicateCustomerMarketwiserateDate($getRequestVal['packageId'], $fromDate, $MarketPlaceId);
        $toDateData = $this->_crmcusttravelplan->GetDuplicateCustomerMarketwiserateDate($getRequestVal['packageId'], $toDate, $MarketPlaceId);


        if (!empty($fromDateData) && !empty($toDateData) ) {
            echo 2; //"From Date and To Date are existing between period of $frmDate and  $toDate";  
            exit;
        }

        if (!empty($fromDateData) ) {
            echo 2; //"From Date is existing between period of $frmDate and  $toDate";
            exit;
        }

        if (!empty($toDateData) ) {
            echo 2; //"To Date is existing between period of $frmDate and  $toDate";
            exit;
        }
        $MarketwiseRateData = array();
        $i = 0;

        $paxValArray = array();
        $tpratesheetid = array();
        $updateId = array();
        $k = 0;
        foreach ($getRequestVal['CostPerPax'] as $checkPerPaxVal) {
            $keyVal = $getRequestVal['totalPax_No'][$k];
            $CostInfent = $getRequestVal['CostPerPaxInfent'][$k];
            $CostPPSO = $getRequestVal['SingleOccSuppCost'][$k];
            $AdultCostExtraBed = $getRequestVal['CostPerPaxAdultExtraBed'][$k];
            $CostExtraBed = $getRequestVal['CostPerPaxChildExtraBed'][$k];
            $CostChildWithoutBed = $getRequestVal['CostPerPaxChildWithExtraBed'][$k];
            if ($checkPerPaxVal > 0) {
                $paxValArray[$keyVal]['CostPerPax'] = $checkPerPaxVal;
                $paxValArray[$keyVal]['CostInfent'] = $CostInfent;
                $paxValArray[$keyVal]['CostPPSO'] = $CostPPSO;
                $paxValArray[$keyVal]['AdultCostExtraBed'] = $AdultCostExtraBed;
                $paxValArray[$keyVal]['CostExtraBed'] = $CostExtraBed;
                $paxValArray[$keyVal]['CostChildWithoutBed'] = $CostChildWithoutBed;
            }
            $k++;
        }


        foreach ($paxValArray as $keypax => $valPax) {

            $ratecurrencyArr = explode('_', $getRequestVal['ratecurrency']);
            $ratecurrencyId = $ratecurrencyArr[0];
            $ratecurrency = $ratecurrencyArr[1];


            $fromcurrency = $ratecurrencyId;
            $tocurrency = 1;
            if ($fromcurrency == $tocurrency) {
                $exchangerate = 1;
            } else {
                $exchangerate = $objPackage->currencyExchangeRate($fromcurrency, $tocurrency);
            }




            $dataRate = array(
                'MarketPlaceId' => @$MarketPlaceId,
                'TPSysId' => (int) $packageId,
                'MasterRefId' => '0',
                'CurrencyType' => $ratecurrencyId,
                'CostSO' => (float) $valPax['CostPPSO'],
//                'CostTO' => 0,
                'AdultCostExtraBed' => (float) $valPax['AdultCostExtraBed'],
                'CostExtraBed' => (float) $valPax['CostExtraBed'],
                'CostWithoutBed' => (float) $valPax['CostChildWithoutBed'],
                'CostDO' => (float) $valPax['CostPerPax'],
//                'CostFourO' =>  0,
//                'CostSixO' => 0,
//                'CostEightO' =>  0,
//                'CostTenO' => 0,
//                'CostTwelveO' =>  0,
                'CostInfent' => (float) $valPax['CostInfent'],
                'FixedDepartureInventory' => !empty($inventoryqty) ? $inventoryqty : 0,
                'StartDate' => $fromDate,
                'ValidTill' => $toDate,
                'IsAprooved' => '1',
                'CreateDate' => $this->currentDate,
                'UpdateDate' => $this->currentDate,
                'IsMarkForDel' => '0',
                'IsActive' => '1',
                'TourType' => 1,
                'Pax' => $keypax,
            );



            if ($MarkType == "FixedAmount") {
                if ((float) $valPax['AdultCostExtraBed'] > 0) {
                    $AdultCostExtraBed = (((float) $valPax['AdultCostExtraBed'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $AdultCostExtraBed = 0;
                }
                if ((float) $valPax['CostPPSO'] > 0) {
                    $CostPPSO = (((float) $valPax['CostPPSO'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $CostPPSO = 0;
                }
                if ((float) $valPax['CostExtraBed'] > 0) {
                    $CostExtraBed = (((float) $valPax['CostExtraBed'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $CostExtraBed = 0;
                }
                if ((float) $valPax['CostChildWithoutBed'] > 0) {
                    $CostChildWithoutBed = (((float) $valPax['CostChildWithoutBed'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $CostChildWithoutBed = 0;
                }
                if ((float) $valPax['CostPerPax'] > 0) {
                    $CostPerPax = (((float) $valPax['CostPerPax'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $CostPerPax = 0;
                }
                if ((float) $valPax['CostInfent'] > 0) {
                    $CostInfent = (((float) $valPax['CostInfent'] * (float) $exchangerate) + (float) $getRequestVal['markup']);
                } else {
                    $CostInfent = 0;
                }
            } else {
                $PercentageVal = 1 + ((float) $getRequestVal['markup'] / 100);
                $AdultCostExtraBed = (((float) $valPax['AdultCostExtraBed'] * (float) $exchangerate) * (float) $PercentageVal);
                $CostPPSO = (((float) $valPax['CostPPSO'] * (float) $exchangerate) * (float) $PercentageVal);
                $CostExtraBed = (((float) $valPax['CostExtraBed'] * (float) $exchangerate) * (float) $PercentageVal);
                $CostChildWithoutBed = (((float) $valPax['CostChildWithoutBed'] * (float) $exchangerate) * (float) $PercentageVal);
                $CostPerPax = (((float) $valPax['CostPerPax'] * (float) $exchangerate) * (float) $PercentageVal);
                $CostInfent = (((float) $valPax['CostInfent'] * (float) $exchangerate) * (float) $PercentageVal);
            }

            $data11 = array(
                'TPIntSysId' => (int) $packageId,
                'MarkType' => $MarkType,
                'MarketPlaceId' => @$MarketPlaceId,
                'MarketPlace' => @$MarketPlace,
                'AgencySysId' => $this->intLoggedinUserAgencySysId,
                'Permission' => !empty($getRequestVal['permission']) ? $getRequestVal['permission'] : 1,
                'MarkPercent' => !empty($getRequestVal['markup']) ? $getRequestVal['markup'] : 0,
                'CostPPDO' => (float) $CostPerPax,
                'PricePerPerson' => (float) $CostPerPax,
//                'CostFourO' => 0,
//                'CostSixO' => 0,
//                'CostEightO' =>  0,
//                'CostTenO' =>  0,
//                'CostTwelveO' =>  0,
                'CostInfent' => (float) $CostInfent,
                'CostPPSO' => (float) $CostPPSO,
                'AdultCostExtraBed' => (float) $AdultCostExtraBed,
                'CostExtraBed' => (float) $CostExtraBed,
                'CostChildWithoutBed' => (float) $CostChildWithoutBed,
                'FixedDepartureInventory' =>  !empty($inventoryqty) ? $inventoryqty : 0,
//                'CostPPTO' => 0,
                'PackCategoryId' =>  !empty($getRequestVal['EconomyMaskId']) ? $getRequestVal['EconomyMaskId'] : 0,
                'Tax' => !empty($getRequestVal['taxtype']) ? $getRequestVal['taxtype'] : 'Included',
                'ExcludedPercent' => (@$getRequestVal['taxtype'] == 'Excluded') ? @$getRequestVal['taxres'] : 0,
                'FromDate' => $fromDate,
                'TourType' => 1,
                'ToDate' => $toDate,
                'CurrencyType' => 1,
                'CreateDate' => $this->currentDate,
                'UpdateDate' => $this->currentDate,
                'IsMarkForDel' => '0',
                'IsActive' => '1',
                'Pax' => $keypax
            );
            //        echo "<pre>";print_r($data11);exit;
            $tpratesheetid[] = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_MarketWise_Rate', $data11);

            $updateId[] = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Rate', $dataRate);
            //       echo "<pre>";print_r($updateId);exit;

        }


        $tpsysID = $packageId;
        $this->params = $packageId;
        if ($tpsysID > 0) {
            $flexiPackageList = $this->_crmcusttravelplan->GetTravelPlanByCustomer($tpsysID);
            $this->view->flexiPackageList = $flexiPackageList[0];

            $packageCancelPolicyList = $this->_crmcusttravelplan->GetCustomerTravelPlanCancelPolicy($tpsysID);
            $this->view->packageCancelPolicyList = $packageCancelPolicyList;
        }
    }
    public function addMoreThanPaxPopupModifyAction()
    {

        $this->_helper->layout->disableLayout();

        $TPSysId = $this->getRequest()->getParam('TPSysId');

        $fromDate1 = $this->getRequest()->getParam('fromDate');
        $fromDate = date("Y-m-d", strtotime(str_replace('/', '-', $fromDate1)));
        $toDate1 = $this->getRequest()->getParam('toDate');
        $toDate = date("Y-m-d", strtotime(str_replace('/', '-', $toDate1)));
        $MarketPlaceId = $this->getRequest()->getParam('MarketPlaceId');
        $PackCategoryId = $this->getRequest()->getParam('PackCategoryId');



        $slaePriceData = $this->_crmcusttravelplan->getCustomerMoreThanPaxDataByMarketWiseRate($TPSysId, $fromDate, $toDate, $MarketPlaceId);
        $myCostData = $this->_crmcusttravelplan->getCustomerMoreThanPaxDataByMarketRate($TPSysId, $fromDate, $toDate, $MarketPlaceId);


        //          echo "<pre>";print_r($myCostData);
        //          echo "<pre>";print_r($slaePriceData);die;
        $this->view->slaePriceData = $slaePriceData;
        $this->view->myCostData = $myCostData;
    }
    public function copypkgproposalAction()
    {
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        $tpsysID = $this->getRequest()->getPost('packid');
        //       $tpsysID = 86880;
        $travelplandata = $this->_crmcusttravelplan->GetCustomerTravelPlanByTPID($tpsysID); // get proposal data from customer travel plan
        if ($travelplandata[0]['PackSpecType'] == 4) {
            $mMultiOptions = json_decode($travelplandata[0]['MultiOptions'], 1);
            $VersionsOfOptions = (array_values($mMultiOptions));
            $versionIds = array_keys($VersionsOfOptions[0]);
            $MasterTPsysIdArr = array_values($VersionsOfOptions[0]);
            $MasterTPSysId = $MasterTPsysIdArr[0];
            $travelplandata =  $this->_crmcusttravelplan->GetOnlyTravelPlanDetailsByQueryIdAndVersion($MasterTPSysId, $versionIds);
        }
        foreach ($travelplandata as $customertravelpaln) {
            $LatestVersionID = $this->_crmcusttravelplan->GetLatestVersionID($customertravelpaln['MasterTPSysId']); // get latest version of proposal

            unset($customertravelpaln['TPSysId']);
            $customertravelpaln['VersionId'] = $LatestVersionID[0]['VersionId'] + 1;
            $customertravelpaln['CreateDate'] = $this->currentDate;
            $customertravelpaln['UpdateDate'] = $this->currentDate;
            $customertravelpaln['IsShared'] = 0;
            $customertravelpaln['IsPlanViewed'] = 0;
            $customertravelpaln['StatusType'] = 16;
            if ($customertravelpaln['PackSpecType'] != 4) {
                $customertravelpaln['MarkUp'] = 0;
            }
            $customertravelpaln['CustomDiscount'] = 0;
            $customertravelpaln['AgentsCustomServiceTaxAmount'] = 0;
            $customertravelpaln['ServiceTaxOnCustomDiscount'] = 0;
            //new status 16 = Proposal Draft

            try {
                $newTPSysID = $this->_crmcusttravelplan->addCustomerTravelPlan($customertravelpaln); //copy of proposal in customer travel plan


                $customerSysId = isset($travelplandata[0]['CustomerSysId']) ? (int) $travelplandata[0]['CustomerSysId'] : 0;
                $AgencyMarkupPersentage = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->getB2bAgencyMarkPercentage($customerSysId);



                $travelplanIetnaryData = $this->_crmcusttravelplan->GetCustomerTravelPlanItenary($tpsysID); // get itenary
                $TPIntSysIdsArr = array_column($travelplanIetnaryData, 'TPIntSysId');
                $TPIntSysIds = implode(', ', $TPIntSysIdsArr);
                if (!empty($TPIntSysIds)) {
                    $lasttravelitenaryID = array();
                    foreach ($travelplanIetnaryData as $travelplanIetnary) {
                        unset($travelplanIetnary['TPIntSysId']);
                        $travelitenaryarray = $travelplanIetnary;
                        $travelitenaryarray['TPSysId'] = $newTPSysID;
                        $travelitenaryarray['CreateDate'] = $this->currentDate;
                        $travelitenaryarray['UpdateDate'] = $this->currentDate;
                        $lasttravelitenaryID[] = $this->_crmcustomertravelItenary->addCustomerTravelItenary($travelitenaryarray); //add new itenary
                    }
                    $tplanitenaryaccomdata = $this->_crmcusttravelplan->GetTravelPlanCustomerItenaryAccomCopy($TPIntSysIds); // get accom by itenary id
                    if (!empty($tplanitenaryaccomdata)) {
                        foreach ($tplanitenaryaccomdata as $tplanitenaryaccom) {
                            unset($tplanitenaryaccom['VersionId']);
                            $existingtpintID = $tplanitenaryaccom['TPIntSysId'];
                            $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);
                            $travelitenaryaccomArray = $tplanitenaryaccom;
                            $travelitenaryaccomArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                            $travelitenaryaccomArray['CreateDate'] = $this->currentDate;
                            $travelitenaryaccomArray['UpdateDate'] = $this->currentDate;
                            $tplanitenaryaccomdataID[] = $this->_crmcusttravelplanItenaryAccom->addCustomerTravelPlanAccom($travelitenaryaccomArray); // add accom with new itenary ids
                        }
                    }

                    $tpitenrayEvents = $this->_crmcusttravelplan->GetCustomerTravelPlanItenaryEvents($TPIntSysIds); // get activities by itenary ids
                    if (!empty($tpitenrayEvents) ) {
                        foreach ($tpitenrayEvents as $tpitenrayEvent) {
                            unset($tpitenrayEvent['VersionId']);
                            $existingtpintID = $tpitenrayEvent['TPIntSysId'];
                            $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);
                            $tpitenrayevntsArray = $tpitenrayEvent;
                            $tpitenrayevntsArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                            $tpitenrayevntsArray['CreateDate'] = $this->currentDate;
                            $tpitenrayevntsArray['UpdateDate'] = $this->currentDate;
                            $travelitenrayevents[] = $this->_crmcustomertravelItenaryEvents->addCustomerTravelItenaryEvents($tpitenrayevntsArray); // add activities with new itenary ids
                        }
                    }

                    $tpitenaryplaces = $this->_crmcusttravelplan->GetCustomerTravelPlanItenaryPaces($TPIntSysIds); // get places by itenary ids


                    if (!empty($tpitenaryplaces) ) {
                        foreach ($tpitenaryplaces as $tpitenaryplace) {
                            unset($tpitenaryplace['VersionId']);
                            $existingtpintID = $tpitenaryplace['TPIntSysId'];
                            $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);

                            $tpitenrayplacesArray = $tpitenaryplace;
                            $tpitenrayplacesArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                            $tpitenrayplacesArray['CreateDate'] = $this->currentDate;
                            $tpitenrayplacesArray['UpdateDate'] = $this->currentDate;


                            $travelitenrayplaces[] = $this->_crmcustomertravelItenaryPlaces->addCustomerTravelItenaryPlaces($tpitenrayplacesArray); // add places with new itenary ids
                        }
                    }
                    $tpitenarysightseeing = $this->_crmcusttravelplan->GetCustomerTravelPlanSightSeeing($TPIntSysIds); // get sightseeing by itenary ids

                    if (!empty($tpitenarysightseeing) ) {
                        foreach ($tpitenarysightseeing as $tpitenarysightseen) {
                            unset($tpitenarysightseen['VersionId']);
                            $existingtpintID = $tpitenarysightseen['InvnItemSysId'];
                            $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);

                            $tpitenraysightseeingArray = $tpitenarysightseen;
                            $tpitenraysightseeingArray['InvnItemSysId'] = $lasttravelitenaryID[$getkeyvalue];
                            $tpitenraysightseeingArray['CreateDate'] = $this->currentDate;
                            $tpitenraysightseeingArray['UpdateDate'] = $this->currentDate;

                            $travelitenraysightssing[] = $this->_crmcustomertravelSightSeeing->addCustomerTravelItenarySightSeeing($tpitenraysightseeingArray); // add sightseeing with new itenary ids
                        }
                    }
                }

                $travelplanmarketPriceArr = $this->_crmcusttravelplan->GetCustomerTravelMarketPrice($tpsysID); // get marketprice by travel plan id
                $travelplanPriceArr = $this->_crmcusttravelplan->GetCustomerTravelPrice($tpsysID);
                if (!empty($travelplanmarketPriceArr)) {
                    $p = 0;
                    foreach ($travelplanmarketPriceArr as $travelplanmarketPrice) {
                        unset($travelplanmarketPrice['TPRateSheetSysId']);
                        $travelmarketpriceArray = $travelplanmarketPrice;
                        $travelmarketpriceArray['TPIntSysId'] = $newTPSysID;
                        if ((int) $AgencyMarkupPersentage > 0) {
                            $travelmarketpriceArray['MarkPercent'] = $AgencyMarkupPersentage;
                            $travelmarketpriceArray['CostPPSO'] = $this->getAcutalVal($travelplanPriceArr[$p]['CostSO'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['CostPPDO'] = $this->getAcutalVal($travelplanPriceArr[$p]['CostDO'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['CostChildWithoutBed'] = $this->getAcutalVal($travelplanPriceArr[$p]['CostWithoutBed'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['CostInfent'] = $this->getAcutalVal($travelplanPriceArr[$p]['CostInfent'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['AdultCostExtraBed'] = $this->getAcutalVal($travelplanPriceArr[$p]['AdultCostExtraBed'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['CostExtraBed'] = $this->getAcutalVal($travelplanPriceArr[$p]['CostExtraBed'], $travelmarketpriceArray['MarkPercent']);
                            $travelmarketpriceArray['Pax'] = $travelplanPriceArr[$p]['Pax'];
                            $travelmarketpriceArray['MarkType'] = 'FixedPercent';
                        }
                        $travelmarketpriceArray['CreateDate'] = $this->currentDate;
                        $travelmarketpriceArray['UpdateDate'] = $this->currentDate;
                        $travelitenramarketwsierate[] = $this->_crmcustomertravelMarketPlaces->addCustomerTravelMarketRate($travelmarketpriceArray); // add marketprice with new travel plan id

                        $p++;
                    }
                }



                if (!empty($travelplanPriceArr)) {
                    foreach ($travelplanPriceArr as $travelplanPrice) {
                        unset($travelplanPrice['TPRateSheetSysId']);
                        $travelpriceArray = $travelplanPrice;
                        $travelpriceArray['TPSysId'] = $newTPSysID;
                        $travelpriceArray['CreateDate'] = $this->currentDate;
                        $travelpriceArray['UpdateDate'] = $this->currentDate;

                        $travelitenrarate[] = $this->_crmcustomertravelPlanRate->addCustomerTravelPlanRate($travelpriceArray); // add price
                    }
                }

                $travelplanterms = $this->_crmcusttravelplan->GetCustomerTravelPlanTermsCond($tpsysID);  // get tnc by travel plan id
                if (!empty($travelplanterms) ) {
                    foreach ($travelplanterms as $travelplanterm) {
                        unset($travelplanterm['TncId']);
                        $travelplantermsArray = $travelplanterm;
                        $travelplantermsArray['TPIntSysId'] = $newTPSysID;
                        $travelplantermsArray['CreateDate'] = $this->currentDate;
                        $travelplantermsArray['UpdateDate'] = $this->currentDate;

                        $travelplantermsids[] = $this->_crmcustomertravelTerm->addCustomerTerm($travelplantermsArray); // add tnc with new travel plan id
                    }
                }

                $cancelPolicyData = $this->_crmcusttravelplan->GetCustomerTravelPlanCancelPolicy($tpsysID);
                //         echo '<pre';print_r($cancelPolicyData); 
                if (!empty($cancelPolicyData) ) {
                    $cancelPolicyArray = array();
                    foreach ($cancelPolicyData as $cancelPolicy) {
                        unset($cancelPolicy['TPRulesSysId']);
                        $cancelPolicyArray = $cancelPolicy;
                        $cancelPolicyArray['TPSysId'] = $newTPSysID;
                        $cancelPolicyArray['CreateDate'] = $this->currentDate;
                        $cancelPolicyArray['UpdateDate'] = $this->currentDate;
                        $travelplancancelpolicyids[] = $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Rules', $cancelPolicyArray);
                    }
                }

                $TransFixedData = $this->_crmcusttravelplan->GetCustomerTravelPlanTransFixed($tpsysID);
                //         echo '<pre';print_r($TransFixedData); 
                if (!empty($TransFixedData) ) {
                    $cancelPolicyArray = array();
                    foreach ($TransFixedData as $TransFixed) {
                        unset($TransFixed['FixTransSysId']);
                        $TransFixedArray = $TransFixed;
                        $TransFixedArray['TPSysId'] = $newTPSysID;
                        $TransFixedArray['CreateDate'] = $this->currentDate;
                        $TransFixedArray['UpdateDate'] = $this->currentDate;
                        $travelplancancelpolicyids[] = $this->_objPackage->insertData('TB_Agency_Customer_Trans_Fixed', $TransFixedArray);
                    }
                }


                $tpitenaryAir = $this->_crmcusttravelplan->GetCustomerTravelPlanItenaryAir($TPIntSysIds); // get places by itenary ids
                $tpitenrayAirArray = array();
                if (!empty($tpitenaryAir) ) {
                    foreach ($tpitenaryAir as $tpitenaryAirArr) {
                        unset($tpitenaryAirArr['VersionId']);
                        $existingtpintID = $tpitenaryAirArr['TPIntSysId'];
                        $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);

                        $tpitenrayAirArray = $tpitenaryAirArr;
                        $tpitenrayAirArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                        $tpitenrayAirArray['CreateDate'] = $this->currentDate;
                        $tpitenrayAirArray['UpdateDate'] = $this->currentDate;


                        $this->_objPackage->insertData('TB_Agency_Customer_TravelPlan_Air', $tpitenrayAirArray);
                    }
                }


                $enctpproposalID = base64_encode($newTPSysID);
                echo json_encode(array('id' => $newTPSysID, 'encodedId' => $enctpproposalID));
                //        echo $newTPSysID;
                exit;
            } catch (Zend_Exception $e) {
                echo  $e->getMessage();
                exit;
            }
        }
    }


    public function copyMasterPackageToTrnAction()
    {
    
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        $model = new Travel_Model_TblPackage();
        $AccomModel = new Travel_Model_Package_TravelPlanItenaryAccom();
        $EventsModel = new Travel_Model_Package_TravelPlanItenaryEvents();
        $SightModel = new Travel_Model_Package_TravelPlanItenarySight();
        $MarketWiseModel = new Travel_Model_Package_TravelPlanItenaryMarketWise();
        $PlacesModel = new Travel_Model_Package_TravelPlanItenaryPlaces();
        $intLoggedinUserAgencySysId = $this->intLoggedinUserAgencySysId;
        $tpsysID = (int) $this->getRequest()->getPost('packid');
        $qId = $this->getRequest()->getPost('qid');
        $cid = $this->getRequest()->getPost('cid');
        $isPs = $this->getRequest()->getPost('isPs');
        $travelplandata = $this->_crmcusttravelplan->GetTravelPlanByTPID($tpsysID);
        foreach ($travelplandata as $customertravelpaln) {
            unset($customertravelpaln['TPSysId']);
            $customertravelpaln['IsCustEdit'] = 1;
            $customertravelpaln['IsAprooved'] = 0;
            $customertravelpaln['MasterRefId'] = 0;
            $custInfo = array("isPs" => $isPs, "qId" => $qId, "cid" => $cid);
            $customertravelpaln['CustInfo'] = json_encode($custInfo);
            //            echo "<pre>";print_r($customertravelpaln);die;
            $newTPSysID = $model->addFlexiPackage($customertravelpaln);
            $travelplanIetnaryData = $this->_crmcusttravelplan->GetTravelPlanItenary($tpsysID); // get itenary

            $TPIntSysIdsArr = array_column($travelplanIetnaryData, 'TPIntSysId');
            $TPIntSysIds = implode(', ', $TPIntSysIdsArr);
            if (!empty($TPIntSysIds)) {
                $lasttravelitenaryID = array();
                foreach ($travelplanIetnaryData as $travelplanIetnary) {
                    unset($travelplanIetnary['TPIntSysId']);
                    $travelitenaryarray = $travelplanIetnary;
                    $travelitenaryarray['TPSysId'] = $newTPSysID;
                    $travelitenaryarray['CreateDate'] = $this->currentDate;
                    $travelitenaryarray['UpdateDate'] = $this->currentDate;

                    $lasttravelitenaryID[] = $model->addFlexiPackageIten($travelitenaryarray); //add new itenary
                }
                $tplanitenaryaccomdata = $this->_crmcusttravelplan->GetTravelPlanItenaryAccom($TPIntSysIds); // get accom by itenary id

                if (!empty($tplanitenaryaccomdata) ) {
                    foreach ($tplanitenaryaccomdata as $tplanitenaryaccom) {
                        unset($tplanitenaryaccom['VersionId']);
                        $existingtpintID = $tplanitenaryaccom['TPIntSysId'];
                        $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);
                        $travelitenaryaccomArray = $tplanitenaryaccom;
                        $travelitenaryaccomArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                        $travelitenaryaccomArray['CreateDate'] = $this->currentDate;
                        $travelitenaryaccomArray['UpdateDate'] = $this->currentDate;

                        $tplanitenaryaccomdataID[] = $AccomModel->addTravelPlanItenaryAccom($travelitenaryaccomArray); // add accom with new itenary ids  -----
                    }
                }

                $tpitenrayEvents = $this->_crmcusttravelplan->GetTravelPlanItenaryEvents($TPIntSysIds); // get activities by itenary ids
                if (!empty($tpitenrayEvents) ) {
                    foreach ($tpitenrayEvents as $tpitenrayEvent) {
                        unset($tpitenrayEvent['VersionId']);
                        $existingtpintID = $tpitenrayEvent['TPIntSysId'];
                        $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);
                        $tpitenrayevntsArray = $tpitenrayEvent;
                        $tpitenrayevntsArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                        $tpitenrayevntsArray['CreateDate'] = $this->currentDate;
                        $tpitenrayevntsArray['UpdateDate'] = $this->currentDate;
                        $travelitenrayevents[] = $EventsModel->addTravelPlanItenaryEvents($tpitenrayevntsArray); // add activities with new itenary ids
                    }
                }

                $tpitenaryplaces = $this->_crmcusttravelplan->GetTravelPlanItenaryPaces($TPIntSysIds); // get places by itenary ids

                if (!empty($tpitenaryplaces) ) {
                    foreach ($tpitenaryplaces as $tpitenaryplace) {
                        unset($tpitenaryplace['VersionId']);
                        $existingtpintID = $tpitenaryplace['TPIntSysId'];
                        $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);

                        $tpitenrayplacesArray = $tpitenaryplace;
                        $tpitenrayplacesArray['TPIntSysId'] = $lasttravelitenaryID[$getkeyvalue];
                        $tpitenrayplacesArray['TPSysId'] = $newTPSysID;
                        $tpitenrayplacesArray['CreateDate'] = $this->currentDate;
                        $tpitenrayplacesArray['UpdateDate'] = $this->currentDate;

                        $travelitenrayplaces[] = $PlacesModel->addTravelPlanItenaryPlaces($tpitenrayplacesArray); // add places with new itenary ids
                    }
                }

                $tpitenarysightseeing = $this->_crmcusttravelplan->GetTravelPlanSightSeeing($TPIntSysIds); // get sightseeing by itenary ids

                if (!empty($tpitenarysightseeing) ) {
                    foreach ($tpitenarysightseeing as $tpitenarysightseen) {
                        unset($tpitenarysightseen['VersionId']);
                        $existingtpintID = $tpitenarysightseen['InvnItemSysId'];
                        $getkeyvalue = array_search($existingtpintID, $TPIntSysIdsArr);

                        $tpitenraysightseeingArray = $tpitenarysightseen;
                        $tpitenraysightseeingArray['InvnItemSysId'] = $lasttravelitenaryID[$getkeyvalue];
                        $tpitenraysightseeingArray['CreateDate'] = $this->currentDate;
                        $tpitenraysightseeingArray['UpdateDate'] = $this->currentDate;

                        $travelitenraysightssing[] = $SightModel->addTravelPlanSightSeeing($tpitenraysightseeingArray); // add sightseeing with new itenary ids
                    }
                }
            }

            $travelplanmarketPriceArr = $this->_crmcusttravelplan->GetTravelMarketPrice($tpsysID); // get marketprice by travel plan id

            if (!empty($travelplanmarketPriceArr) ) {
                foreach ($travelplanmarketPriceArr as $travelplanmarketPrice) {
                    unset($travelplanmarketPrice['TPRateSheetSysId']);
                    $travelmarketpriceArray = $travelplanmarketPrice;
                    $travelmarketpriceArray['TPIntSysId'] = $newTPSysID;
                    $travelmarketpriceArray['CreateDate'] = $this->currentDate;
                    $travelmarketpriceArray['UpdateDate'] = $this->currentDate;

                    $travelitenramarketwsierate[] = $MarketWiseModel->addTravelPlanRate($travelmarketpriceArray); // add marketprice with new travel plan id
                }
            }

            $travelplanPriceArr = $this->_crmcusttravelplan->GetTravelRate($tpsysID);

            if (!empty($travelplanPriceArr) ) {
                foreach ($travelplanPriceArr as $travelplanPrice) {
                    unset($travelplanPrice['TPRateSheetSysId']);
                    $travelpriceArray = $travelplanPrice;
                    $travelpriceArray['TPSysId'] = $newTPSysID;
                    $travelpriceArray['CreateDate'] = $this->currentDate;
                    $travelpriceArray['UpdateDate'] = $this->currentDate;

                    $this->_objPackage->insertData('TB_TravelPlan_Rate', $travelpriceArray); // add price
                }
            }

            $travelplanterms = $this->_crmcusttravelplan->GetCustomerTravelPlanTerms($tpsysID);  // get tnc by travel plan id
            if (!empty($travelplanterms) ) {
                foreach ($travelplanterms as $travelplanterm) {
                    unset($travelplanterm['TncId']);
                    $travelplantermsArray = $travelplanterm;
                    $travelplantermsArray['TPIntSysId'] = $newTPSysID;
                    $travelplantermsArray['CreateDate'] = $this->currentDate;
                    $travelplantermsArray['UpdateDate'] = $this->currentDate;

                    $travelplantermsids[] = $this->_objPackage->insertData('TB_TravelPlan_Terms_Conditions', $travelplantermsArray); // add tnc with new travel plan id
                }
            }

            $cancelPolicyData = $model->getPackageCancelPolictyList($tpsysID);
            //         echo '<pre';print_r($cancelPolicyData); 
            if (!empty($cancelPolicyData) ) {
                $cancelPolicyArray = array();
                foreach ($cancelPolicyData as $cancelPolicy) {
                    unset($cancelPolicy['TPRulesSysId']);
                    $cancelPolicyArray = $cancelPolicy;
                    $cancelPolicyArray['TPSysId'] = $newTPSysID;
                    $cancelPolicyArray['CreateDate'] = $this->currentDate;
                    $cancelPolicyArray['UpdateDate'] = $this->currentDate;
                    $travelplancancelpolicyids[] = $this->_objPackage->insertData('TB_TravelPlan_Rules', $cancelPolicyArray);
                }
            }

            /* Added By Mangal For Save Bus Route Data 01/12/2018 Start*/

            $mflexiPackageList = $model->getFlexiPackageList($tpsysID);

            if (@$mflexiPackageList['MasterRefId'] == '0') {
                $mchildpackarr = $model->getChildPackageList(@$mflexiPackageList['TPSysId']);
            } else {
                $mchildpackarr = $model->getChildPackageList(@$mflexiPackageList['MasterRefId']);
            }

            $mMasterId = 0;
            if (!empty($mchildpackarr)) {
                foreach ($mchildpackarr as $val) {
                    if ($val['MasterRefId'] == '0') {
                        $mMasterId = $val['TPSysId'];
                    }
                }
            }

            $pickupLocationArr = $model->getBusPickUpLocationDateByMasterId($intLoggedinUserAgencySysId, $mMasterId);



            foreach ($pickupLocationArr as $pickkey => $pickvalue) {
                $insertBusRoute = [
                    'AgencySysId' => @$intLoggedinUserAgencySysId,
                    'MasterRefTPSysID' => @$newTPSysID,
                    'StartCityId' => isset($pickvalue['StartCityId']) ? $pickvalue['StartCityId'] : 0,
                    'EndCityId' => isset($pickvalue['EndCityId']) ? $pickvalue['EndCityId'] : 0,
                    'pickupLocation' => trim($pickvalue['pickupLocation']),
                    'IsActive' => 1,
                    'IsMarkForDel' => 0,
                    'CreateDate' => @$this->currentDate,
                    'UpdateDate' => @$this->currentDate,

                ];
                $insertdataLocation[] = $model->insertData('TB_TravelPlan_Bus_Pickup_Location', $insertBusRoute);
            }

            /* Added By Mangal For Save Bus Route Data 01/12/2018 End*/



            $enctpproposalID = base64_encode($newTPSysID);
            echo json_encode(array('id' => $newTPSysID, 'encodedId' => $enctpproposalID));
            exit;
        }
    }


    public function copyMasterPackageToTrnOldAction()
    {
        error_reporting(0);
        $this->_helper->layout->disableLayout();
        $front = Zend_Controller_Front::getInstance();
        $front->setParam('noViewRenderer', true);
        $travelplanID = $tpsysID = (int) $this->getRequest()->getPost('packid');
        $travelplandata = $this->_crmcusttravelplan->GetTravelPlanByTPID($tpsysID);
        $roomjson  = array();
        for ($k = 1; $k <= 1; $k++) {
            $roomjson[$k]['Adult'] = 2;
            $roomjson[$k]['Child'] = 0;
        }
        $RoomInfoJson = json_encode($roomjson);
        // get proposal data from customer travel plan
        foreach ($travelplandata as $customertravelpaln) {
            $customertravelpaln = array(
                //'PlanBookingId' => $planbookingID,
                'MasterTPSysId' => '',
                'AgencySysId' => $customertravelpaln['AgencySysId'],
                'AgentSysId' => $customertravelpaln['AgentSysId'],
                'CreatorSysId' =>  $customertravelpaln['AgentSysId'],
                'StatusType' => 16,
                'CustomerSysId' => 0,
                'PlanType' => 5,
                'InventoryType' => 5,
                'MinPax' => $customertravelpaln['MinPax'] ? $customertravelpaln['MinPax'] : 0,
                'PackRangeType' => $customertravelpaln['PackRangeType'] ? $customertravelpaln['PackRangeType'] : 0,
                'Title' => $customertravelpaln['Title'] ? $customertravelpaln['Title'] : '',
                'EconomyMask' => $customertravelpaln['EconomyMask'] ? $customertravelpaln['EconomyMask'] : 0,
                'PackTypeMask' => $customertravelpaln['PackTypeMask'] ? $customertravelpaln['PackTypeMask'] : '',
                'InclCatMask' => $customertravelpaln['InclCatMask'] ? $customertravelpaln['InclCatMask'] : 0,
                'InclMask' => $customertravelpaln['InclMask'] ? $customertravelpaln['InclMask'] : '',
                'ExclusionMask' => $customertravelpaln['ExclusionMask'] ? $customertravelpaln['ExclusionMask'] : '',
                'PackSpecType' => $customertravelpaln['PackSpecType'] ? $customertravelpaln['PackSpecType'] : '',
                'SupplierSysId' => isset($customertravelpaln['SupplierSysId']) ? $customertravelpaln['SupplierSysId'] : '0',
                'PriceRange' => $customertravelpaln['PriceRange'],
                'SeasonMask' => $customertravelpaln['SeasonMask'] ? $customertravelpaln[0]['SeasonMask'] : 0,
                'GeoType' => $customertravelpaln['GeoType'] ? $customertravelpaln['GeoType'] : 0,
                'IsFixDatePlan' => $customertravelpaln['IsFixDatePlan'] ? $customertravelpaln['IsFixDatePlan'] : 0,
                'IsFixPlan' => $customertravelpaln['IsFixPlan'] ? $customertravelpaln['IsFixPlan'] : 0,
                'Details' => $customertravelpaln['Details'] ? $customertravelpaln['Details'] : '',
                'ImageTN' => $customertravelpaln['ImageTN'] ? $customertravelpaln['ImageTN'] : '',
                'ImgForList' => $customertravelpaln['ImgForList'] ? $customertravelpaln['ImgForList'] : '',
                'ImgeDetails' => $customertravelpaln['ImgeDetails'] ? $customertravelpaln['ImgeDetails'] : '',
                'StartDate' => $customertravelpaln['StartDate']->format('Y-m-d H:i:s'),
                'ValidTill' => $customertravelpaln['ValidTill'] ? $customertravelpaln['ValidTill']->format('Y-m-d H:i:s') : '',
                'PkgSellValidTill' => $customertravelpaln['PkgSellValidTill'] ? $customertravelpaln['PkgSellValidTill']->format('Y-m-d H:i:s') : '',
                'Price' => $customertravelpaln['Price'] ? $customertravelpaln['Price'] : 0,
                'DiscountMsg' => $customertravelpaln['DiscountMsg'] ? $customertravelpaln['DiscountMsg'] : '',
                'DiscountType' => $customertravelpaln['DiscountType'] ? $customertravelpaln['DiscountType'] : 0,
                'DiscountVal' => $customertravelpaln['DiscountVal'] ? $customertravelpaln['DiscountVal'] : 0,
                'AdvBookingPercent' => $customertravelpaln['AdvBookingPercent'] ? $customertravelpaln['AdvBookingPercent'] : 0,
                'AdvBookingDays' => $customertravelpaln['AdvBookingDays'] ? $customertravelpaln['AdvBookingDays'] : 0,
                'NetPrice' => $customertravelpaln['NetPrice'] ? $customertravelpaln['NetPrice'] : 0,
                'MinPrice' => $customertravelpaln['MinPrice'] ? $customertravelpaln['MinPrice'] : 0,
                'TotalMinDays' => $customertravelpaln['TotalMinDays'] ? $customertravelpaln['TotalMinDays'] : 0,
                'TotalMaxDays' => $customertravelpaln['TotalMaxDays'] ? $customertravelpaln['TotalMaxDays'] : 0,
                'Hotels' => $customertravelpaln['Hotels'] ? $customertravelpaln['Hotels'] : '',
                'PopularPlaces' => $customertravelpaln['PopularPlaces'] ? $customertravelpaln['PopularPlaces'] : '',
                'SourcePlaceSysId' => $customertravelpaln['SourcePlaceSysId'],
                'SourcePlaces' => $customertravelpaln['SourcePlaces'],
                'DestinationPlacesSysId' => $customertravelpaln['DestinationPlacesSysId'],
                'DestinationPlaces' => $customertravelpaln['DestinationPlaces'],
                'Cities' => $customertravelpaln['Cities'] ? $customertravelpaln['Cities'] : '',
                'Countries' => $customertravelpaln['Countries'] ? $customertravelpaln['Countries'] : '',
                'IsMarkForDel' => $customertravelpaln['IsMarkForDel'] ? $customertravelpaln['IsMarkForDel'] : '0',
                'RoomInfoJson' => $RoomInfoJson,
                'CreateDate' => $customertravelpaln['CreateDate'] ? $customertravelpaln['CreateDate']->format('Y-m-d H:i:s') : '',
                'UpdateDate' => $customertravelpaln['UpdateDate'] ? $customertravelpaln['UpdateDate']->format('Y-m-d H:i:s') : '',
                'IsActive' => 1,
                'Readymade' => $customertravelpaln['Readymade'] ? $customertravelpaln['Readymade'] : 1,
                'IsAprooved' => 1,
                'TPId' => $customertravelpaln['TPSysId'],
                'IsPriceShared' => $customertravelpaln['IsPriceShared'],
                'IsGTXNetwork' => $customertravelpaln['IsGTXNetwork'],
                'TourType' => 1,
                'DestinationCovered' => !empty($customertravelpaln['DestinationCovered']) ? $customertravelpaln['DestinationCovered'] : 0,
                'CurrencyType' => !empty($customertravelpaln['CurrencyType']) ? $customertravelpaln['CurrencyType'] : 0,
                'MaxPrice' => 0,
                'CityIds' => '',
                'EmailText' => '',
                'EmailDestination' => '',
                'ProposalEmailTo' => '0',
                'GSTSharedMode' => 1, // (1 for 5% on total Cost, 2 for 18% on Service Fee) to detect what type and how much tax will apply to customer
                'IsB2BProposal' => '0',
                'B2BAgencySysId' => 0,
                'SACCode' => 440063,
                'IsSourceCurrency' =>  0,
                'SelectPricingType' =>  'Overall',
                'ExchangeCurrencyRate' => 1,
                'EmailTemplateType' =>  '1'
            );
            $tpproposalID = $newTPSysID = $this->_crmcusttravelplan->addCustomerTravelPlan($customertravelpaln); //copy of proposal in customer travel plan



            $objPackage = new Travel_Model_TblPackage();
            $travelplanIetnaryData = $this->_crmcusttravelplan->GetTravelPlanItenary($travelplanID); //this query is used below to insert travel plan itinerary data
            for ($i = 0; $i < count($travelplanIetnaryData); $i++) {
                if ($travelplanIetnaryData[$i]['Sequence'] == 2) {
                    $itnId = $travelplanIetnaryData[$i]['TPIntSysId'];
                }
            }


            for ($i = 0; $i < count($travelplanIetnaryData); $i++) {
                $travelpanitenary[] = $travelplanIetnaryData[$i]['TPIntSysId'];
                $seqItenDay[$travelplanIetnaryData[$i]['TPIntSysId']] = $travelplanIetnaryData[$i]['Sequence'];
            }
            $tplanitenayvalues = implode(",", $travelpanitenary);
            for ($i = 0; $i < count($travelplanIetnaryData); $i++) {

                $tpstart_date = $travelplanIetnaryData[$i]['StartDate'];
                $tpend_date = $travelplanIetnaryData[$i]['EndDate'];
                $travelitenaryarray = array(
                    'TPSysId' => $tpproposalID,
                    'Sequence' => $travelplanIetnaryData[$i]['Sequence'],
                    'AgencySysId' => $travelplanIetnaryData[$i]['AgencySysId'],
                    'Title' => $travelplanIetnaryData[$i]['Title'],
                    'Details' => $travelplanIetnaryData[$i]['Details'],
                    'InclMask' => $travelplanIetnaryData[$i]['InclMask'] ? trim($travelplanIetnaryData[$i]['InclMask']) : '',
                    'ExclusionMask' => $travelplanIetnaryData[$i]['ExclusionMask'] ? $travelplanIetnaryData[$i]['ExclusionMask'] : '',
                    'InclCatMask' => $travelplanIetnaryData[$i]['InclCatMask'] ? trim($travelplanIetnaryData[$i]['InclCatMask']) : '',
                    'PackInclMask' => $travelplanIetnaryData[$i]['PackInclMask'] ? $travelplanIetnaryData[$i]['PackInclMask'] : '',
                    'PackTypeMask' => trim($travelplanIetnaryData[$i]['PackTypeMask']),
                    'ImageTN' => $travelplanIetnaryData[$i]['ImageTN'],
                    'ImgForList' => $travelplanIetnaryData[$i]['ImgForList'],
                    'ImgeDetails' => $travelplanIetnaryData[$i]['ImgeDetails'],
                    'Rating' => $travelplanIetnaryData[$i]['Rating'] ? $travelplanIetnaryData[$i]['Rating'] : 0,
                    'TotalMinDays' => $travelplanIetnaryData[$i]['TotalMinDays'] ? $travelplanIetnaryData[$i]['TotalMinDays'] : 0,
                    'TotalMaxDays' => $travelplanIetnaryData[$i]['TotalMaxDays'],
                    'Hotels' => $travelplanIetnaryData[$i]['Hotels'],
                    'PopularPlaces' => $travelplanIetnaryData[$i]['PopularPlaces'],
                    'CitySysId' => $travelplanIetnaryData[$i]['CitySysId'],
                    'Cities' => $travelplanIetnaryData[$i]['Cities'],
                    'Countries' => $travelplanIetnaryData[$i]['Countries'],
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                );
                $destination_cities_arr[] = $travelplanIetnaryData[$i]['Cities'];

                $lasttravelitenaryID[] = $this->_crmcustomertravelItenary->addCustomerTravelItenary($travelitenaryarray);
            }
            $destination_cities_arr_unique = array_unique($destination_cities_arr);
            $display_destination_city = implode("-", $destination_cities_arr_unique);
            $tplanitenaryaccomdata = $this->_crmcusttravelplan->GetTravelPlanItenaryAccom($tplanitenayvalues);

            for ($k = 0; $k < count($tplanitenaryaccomdata); $k++) {
                $existingtpintID = $tplanitenaryaccomdata[$k]['TPIntSysId'];
                //           echo $seqItenDay[$existingtpintID].'</br>';
                $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                $startDay = $seqItenDay[$existingtpintID];
                $endDay = $startDay + 1;
                if ($startDay == 1) {
                    $accomStartDate = $main_trip_start_date;
                    $accomEndDate = date('Y-m-d', strtotime($main_trip_start_date . "+ 1 days"));
                } else {
                    $accomStartDate = date('Y-m-d', strtotime($main_trip_start_date . "+ $startDay days")); // strtotime(date("Y-m-d", strtotime($main_trip_start_date)) . " +".$startDay."days");;
                    $accomEndDate = date('Y-m-d', strtotime($main_trip_start_date . "+ $endDay days"));
                }

                $travelitenaryaccomArray = array(
                    'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                    'SeqId' => $tplanitenaryaccomdata[$k]['SeqId'] ? $tplanitenaryaccomdata[$k]['SeqId'] : 0,
                    'AgencySysId' => $tplanitenaryaccomdata[$k]['AgencySysId'] ? $tplanitenaryaccomdata[$k]['AgencySysId'] : 0,
                    'AccoSysId' => $tplanitenaryaccomdata[$k]['AccoSysId'] ? $tplanitenaryaccomdata[$k]['AccoSysId'] : 0,
                    'MealPlanType' => $tplanitenaryaccomdata[$k]['MealPlanType'] ? $tplanitenaryaccomdata[$k]['MealPlanType'] : 0,
                    'RoomType' => $tplanitenaryaccomdata[$k]['RoomType'] ? $tplanitenaryaccomdata[$k]['RoomType'] : 0,
                    'RoomNumber' => $tplanitenaryaccomdata[$k]['RoomNumber'] ? $tplanitenaryaccomdata[$k]['RoomNumber'] : '',
                    'Title' => $tplanitenaryaccomdata[$k]['Title'] ? $tplanitenaryaccomdata[$k]['Title'] : '',
                    'SpecialRequest' => '',
                    'CheckInTime' => $tplanitenaryaccomdata[$k]['CheckInTime'] ? $tplanitenaryaccomdata[$k]['CheckInTime'] : '',
                    'CheckOutTime' => $tplanitenaryaccomdata[$k]['CheckOutTime'] ? $tplanitenaryaccomdata[$k]['CheckOutTime'] : '',
                    'XRefCityId' => $tplanitenaryaccomdata[$k]['XRefCityId'] ? $tplanitenaryaccomdata[$k]['XRefCityId'] : '',
                    'FromDate' => $accomStartDate ? $accomStartDate : '',
                    'ToDate' => $accomEndDate ? $accomEndDate : '',
                    'AdultPax' => (int) $totadlt,
                    'ChildPax' => (int) $totchld,
                    'InfantPax' => (int) $totalInfant,
                    'PetPax' => 0,
                    'TotalPax' => (int) ($totadlt + $totchld + $totalInfant),
                    'TotalNights' => $tplanitenaryaccomdata[$k]['TotalNights'] ? $tplanitenaryaccomdata[$k]['TotalNights'] : 0,
                    'StarRating' => $tplanitenaryaccomdata[$k]['StarRating'] ? $tplanitenaryaccomdata[$k]['StarRating'] : 0,
                    'CurrencyType' => $tplanitenaryaccomdata[$k]['CurrencyType'] ? $tplanitenaryaccomdata[$k]['CurrencyType'] : 0,
                    'TotalCost' => $tplanitenaryaccomdata[$k]['TotalCostGen'] ? $tplanitenaryaccomdata[$k]['TotalCostGen'] : 0,
                    'Discounts' => $tplanitenaryaccomdata[$k]['Discounts'] ? $tplanitenaryaccomdata[$k]['Discounts'] : 0,
                    'Taxes' => $tplanitenaryaccomdata[$k]['Taxes'] ? $tplanitenaryaccomdata[$k]['Taxes'] : 0,
                    'NetCost' => $tplanitenaryaccomdata[$k]['NetCost'] ? $tplanitenaryaccomdata[$k]['NetCost'] : 0,
                    'XServiceTaxAmount' => 0,
                    'GTXServiceTaxAmount' => 0,
                    'AgentServiceTaxAmount' => 0,
                    'AgentsCustomServiceTaxAmount' => 0,
                    'MarkUp' => 0,
                    'GTXMarkup' => 0,
                    'AgencyMarkUp' => 0,
                    'IsSelectedOnPkg' => $tplanitenaryaccomdata[$k]['IsSelectedOnPkg'] ? $tplanitenaryaccomdata[$k]['IsSelectedOnPkg'] : 0,
                    'CreateDate' => $tplanitenaryaccomdata[$k]['CreateDate'] ? $tplanitenaryaccomdata[$k]['CreateDate'] : '',
                    'UpdateDate' => $tplanitenaryaccomdata[$k]['UpdateDate'] ? $tplanitenaryaccomdata[$k]['UpdateDate'] : '',
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                );
                //echo "<pre>";print_r($travelitenaryaccomArray);die;
                $tplanitenaryaccomdataID = $this->_crmcusttravelplanItenaryAccom->addCustomerTravelPlanAccom($travelitenaryaccomArray);
            }

            $tpitenrayEvents = $this->_crmcusttravelplan->GetTravelPlanItenaryEvents($tplanitenayvalues);
            if (!empty($tpitenrayEvents) ) {
                for ($k = 0; $k < count($tpitenrayEvents); $k++) {
                    $existingtpintID = $tpitenrayEvents[$k]['TPIntSysId'];
                    $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                    $startDay = $seqItenDay[$existingtpintID] - 1;
                    $accomStartDate = date('Y-m-d', strtotime($main_trip_start_date . "+ $startDay days")); // strtotime(date("Y-m-d", strtotime($main_trip_start_date)) . " +".$startDay."days");;

                    $tpitenrayevntsArray = array(
                        'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                        'Sequence' => $tpitenrayEvents[$k]['Sequence'] ? $tpitenrayEvents[$k]['Sequence'] : 0,
                        'AgencySysId' => $tpitenrayEvents[$k]['AgencySysId'] ? $tpitenrayEvents[$k]['AgencySysId'] : 0,
                        'SupplierSysId' => $tpitenrayEvents[$k]['SupplierSysId'] ? $tpitenrayEvents[$k]['SupplierSysId'] : 0,
                        'TPActivitySysId' => $tpitenrayEvents[$k]['TPActivitySysId'] ? $tpitenrayEvents[$k]['TPActivitySysId'] : 0,
                        'CurrencyType' => $tpitenrayEvents[$k]['CurrencyType'] ? $tpitenrayEvents[$k]['CurrencyType'] : 0,
                        'Title' => $tpitenrayEvents[$k]['Title'] ? $tpitenrayEvents[$k]['Title'] : '',
                        'Type' => $tpitenrayEvents[$k]['Type'] ? $tpitenrayEvents[$k]['Type'] : '',
                        'CityId' => $tpitenrayEvents[$k]['CityId'] ? $tpitenrayEvents[$k]['CityId'] : 0,
                        'Cost' => $tpitenrayEvents[$k]['Cost'] ? $tpitenrayEvents[$k]['Cost'] : 0,
                        'IsMarkForDel' => $tpitenrayEvents[$k]['IsMarkForDel'] ? $tpitenrayEvents[$k]['IsMarkForDel'] : 0,
                        'IsActive' => $tpitenrayEvents[$k]['IsActive'] ? $tpitenrayEvents[$k]['IsActive'] : 1,
                        'Markup' => $tpitenrayEvents[$k]['Markup'] ? $tpitenrayEvents[$k]['Markup'] : 0,
                        'FromDate' => $accomStartDate,
                        'ToDate' => $accomStartDate,
                    );

                    $travelitenrayevents = $this->_crmcustomertravelItenaryEvents->addCustomerTravelItenaryEvents($tpitenrayevntsArray);
                }
            }

            $tpitenaryplaces = $this->_crmcusttravelplan->GetTravelPlanItenaryPaces($tplanitenayvalues);


            if (!empty($tpitenaryplaces) ) {
                for ($k = 0; $k < count($tpitenaryplaces); $k++) {
                    $existingtpintID = $tpitenaryplaces[$k]['TPIntSysId'];
                    $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                    $tpitenrayplacesArray = array(
                        'TPSysId' => $tpproposalID,
                        'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                        'Sequence' => $tpitenaryplaces[$k]['Sequence'] ? $tpitenaryplaces[$k]['Sequence'] : 0,
                        'PlaceSysId' => $tpitenaryplaces[$k]['PlaceSysId'] ? $tpitenaryplaces[$k]['PlaceSysId'] : 0,
                        'AgencySysId' => $tpitenaryplaces[$k]['AgencySysId'] ? $tpitenaryplaces[$k]['AgencySysId'] : 0,
                        'IsMarkForDel' => $tpitenaryplaces[$k]['IsMarkForDel'] ? $tpitenaryplaces[$k]['IsMarkForDel'] : 0,
                        'IsActive' => $tpitenaryplaces[$k]['IsActive'] ? $tpitenaryplaces[$k]['IsActive'] : 0,
                    );

                    $travelitenrayplaces = $this->_crmcustomertravelItenaryPlaces->addCustomerTravelItenaryPlaces($tpitenrayplacesArray);
                }
            }
            $tpitenarysightseeing = $this->_crmcusttravelplan->GetTravelPlanSightSeeing($tplanitenayvalues);

            $createDate = $this->currentDate;
            //echo '<pre>';
            //print_r($tpitenarysightseeing);
            if (!empty($tpitenarysightseeing) ) {
                for ($k = 0; $k < count($tpitenarysightseeing); $k++) {
                    $existingtpintID = $tpitenarysightseeing[$k]['InvnItemSysId'];
                    $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                    $startDay = $seqItenDay[$existingtpintID] - 1;
                    $accomStartDate = date('Y-m-d', strtotime($main_trip_start_date . "+ $startDay days")); // strtotime(date("Y-m-d", strtotime($main_trip_start_date)) . " +".$startDay."days");;
                    $type = in_array($tpitenarysightseeing[$k]['VersionId'], $optionalSightIncludeArr) ? 'Included' : $tpitenarysightseeing[$k]['Type'];
                    if ($tpitenarysightseeing[$k]['IsOptionalSightSeeing'] == 1) {
                        $CostNativeAdult = $newSsdaywiseArr[$tpitenarysightseeing[$k]['VersionId']]['CostNativeAdult'];
                        $CostNativeChild = $newSsdaywiseArr[$tpitenarysightseeing[$k]['VersionId']]['CostNativeChild'];
                        $CostAdultMarkup = $newSsdaywiseArr[$tpitenarysightseeing[$k]['VersionId']]['CostAdultMarkup'];
                        $CostKidsMarkup = $newSsdaywiseArr[$tpitenarysightseeing[$k]['VersionId']]['CostKidsMarkup'];
                    }
                    $tpitenraysightseeingArray = array(
                        'InvnItemSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                        'XrefInvnItemSysId' => $tpitenarysightseeing[$k]['XrefInvnItemSysId'] ? $tpitenarysightseeing[$k]['XrefInvnItemSysId'] : 0,
                        'SeqId' => $tpitenarysightseeing[$k]['SeqId'] ? $tpitenarysightseeing[$k]['SeqId'] : 0,
                        'SSSysId' => $tpitenarysightseeing[$k]['SSSysId'] ? $tpitenarysightseeing[$k]['SSSysId'] : 0,
                        'AgencySysId' => $tpitenarysightseeing[$k]['AgencySysId'] ? $tpitenarysightseeing[$k]['AgencySysId'] : 0,
                        'SupplierSysId' => $tpitenarysightseeing[$k]['SupplierSysId'] ? $tpitenarysightseeing[$k]['SupplierSysId'] : 0,
                        'Title' => $tpitenarysightseeing[$k]['Title'] ? $tpitenarysightseeing[$k]['Title'] : 0,
                        'Type' => !empty($type) ? $type : 0,
                        'CityId' => $tpitenarysightseeing[$k]['CityId'] ? $tpitenarysightseeing[$k]['CityId'] : 0,
                        //                    'Cost' => $tpitenarysightseeing[$k]['Cost'] ? $tpitenarysightseeing[$k]['Cost'] : 0,
                        'FromDate' => $accomStartDate,
                        'ToDate' => $accomStartDate,
                        'BookingType' => $tpitenarysightseeing[$k]['BookingType'] ? $tpitenarysightseeing[$k]['BookingType'] : 0,
                        'Qty' => $tpitenarysightseeing[$k]['Qty'] ? $tpitenarysightseeing[$k]['Qty'] : 0,
                        'IfAnyOffer' => $tpitenarysightseeing[$k]['IfAnyOffer'] ? $tpitenarysightseeing[$k]['IfAnyOffer'] : 0,
                        'OfferMsg' => $tpitenarysightseeing[$k]['OfferMsg'] ? $tpitenarysightseeing[$k]['OfferMsg'] : 0,
                        'OfferImage' => $tpitenarysightseeing[$k]['OfferImage'] ? $tpitenarysightseeing[$k]['OfferImage'] : 0,
                        'IxFixedDateInven' => $tpitenarysightseeing[$k]['IxFixedDateInven'] ? $tpitenarysightseeing[$k]['IsMarkForDel'] : 0,
                        'CreateDate' => $this->currentDate,
                        'UpdateDate' => $this->currentDate,
                        'IsActive' => $tpitenarysightseeing[$k]['IsActive'] ? $tpitenarysightseeing[$k]['IsActive'] : 0,
                        'IsMarkForDelete' => $tpitenarysightseeing[$k]['IsMarkForDelete'] ? $tpitenarysightseeing[$k]['IsMarkForDelete'] : 0,
                        'CurrencyType' => $tpitenarysightseeing[$k]['CurrencyType'] ? $tpitenarysightseeing[$k]['CurrencyType'] : 1,
                        'IsOptionalSightSeeing' => $tpitenarysightseeing[$k]['IsOptionalSightSeeing'] ? $tpitenarysightseeing[$k]['IsOptionalSightSeeing'] : 0,
                        'Cost' => isset($CostNativeAdult) ? $CostNativeAdult : 0,
                        'KidsCost' => isset($CostNativeChild) ? $CostNativeChild : 0,
                        'Markup' => isset($CostAdultMarkup) ? $CostAdultMarkup : 0,
                        'ChildMarkup' => isset($CostKidsMarkup) ? $CostKidsMarkup : 0
                    );
                    //            print_r($tpitenraysightseeingArray);
                    $travelitenraysightssing = $this->_crmcustomertravelSightSeeing->addCustomerTravelItenarySightSeeing($tpitenraysightseeingArray);
                }
            }

            $travelplanPriceArr = $this->_crmcusttravelplan->GetTravelRate($travelplanID, $MarketPlaceId);
            //print_r($travelplanPriceArr); die;
            if (!empty($travelplanPriceArr) ) {
                foreach ($travelplanPriceArr as $travelplanPrice) {
                    unset($travelplanPrice['TPRateSheetSysId']);
                    $travelpriceArray = $travelplanPrice;
                    $travelpriceArray['TPSysId'] = $tpproposalID;
                    $travelpriceArray['CreateDate'] = $this->currentDate;
                    $travelpriceArray['UpdateDate'] = $this->currentDate;
                    //print_r($travelpriceArray);
                    $this->_crmcustomertravelPlanRate->addCustomerTravelPlanRate($travelpriceArray); // add price
                }
            }

            //        $ShareCurrencyArr = explode('_',$getData['ShareCurrency']); 
            //        $ExchangeRate = $getData['ExchangeRate'];
            $travelplanmarketPrice = $this->_crmcusttravelplan->GetTravelMarketPrice($travelplanID, $MarketPlaceId);
            if (!empty($travelplanmarketPrice) ) {
                for ($k = 0; $k < count($travelplanmarketPrice); $k++) {

                    $fromDate = $travelplanmarketPrice[$k]['FromDate'];
                    $toDate = $travelplanmarketPrice[$k]['ToDate'];
                    $travelmarketpriceArray = array(
                        'TPIntSysId' => $tpproposalID,
                        'AgencySysId' => $travelplanmarketPrice[$k]['AgencySysId'] ? $travelplanmarketPrice[$k]['AgencySysId'] : 0,
                        'FromDate' => $fromDate->format('Y-m-d'),
                        'ToDate' => $toDate->format('Y-m-d'),
                        'CurrencyType' => $travelplanmarketPrice[$k]['CurrencyType'] ? $travelplanmarketPrice[$k]['CurrencyType'] : 0,
                        'MarkType' => $travelplanmarketPrice[$k]['MarkType'] ? $travelplanmarketPrice[$k]['MarkType'] : 0,
                        'MarketPlaceId' => $travelplanmarketPrice[$k]['MarketPlaceId'] ? $travelplanmarketPrice[$k]['MarketPlaceId'] : 0,
                        'MarketPlace' => $travelplanmarketPrice[$k]['MarketPlace'] ? $travelplanmarketPrice[$k]['MarketPlace'] : 0,
                        'Permission' => $travelplanmarketPrice[$k]['Permission'] ? $travelplanmarketPrice[$k]['Permission'] : 0,
                        'MarkPercent' => $travelplanmarketPrice[$k]['MarkPercent'] ? $travelplanmarketPrice[$k]['MarkPercent'] : 0,
                        'CostPPSO' => $travelplanmarketPrice[$k]['CostPPSO'] ? $travelplanmarketPrice[$k]['CostPPSO'] : 0,
                        'CostPPDO' => $travelplanmarketPrice[$k]['CostPPDO'] ? $travelplanmarketPrice[$k]['CostPPDO'] : 0,
//                        'CostPPTO' => $travelplanmarketPrice[$k]['CostPPTO'] ? $travelplanmarketPrice[$k]['CostPPTO'] : 0,
                        'CostExtraBed' => $travelplanmarketPrice[$k]['CostExtraBed'] ? $travelplanmarketPrice[$k]['CostExtraBed'] : 0,
                        'AdultCostExtraBed' => $travelplanmarketPrice[$k]['AdultCostExtraBed'] ? $travelplanmarketPrice[$k]['AdultCostExtraBed'] : 0,
                        'CostChildWithoutBed' => $travelplanmarketPrice[$k]['CostChildWithoutBed'] ? $travelplanmarketPrice[$k]['CostChildWithoutBed'] : 0,
                        'Tax' => $travelplanmarketPrice[$k]['Tax'] ? $travelplanmarketPrice[$k]['Tax'] : 0,
                        'ExcludedPercent' => $travelplanmarketPrice[$k]['ExcludedPercent'] ? $travelplanmarketPrice[$k]['ExcludedPercent'] : 0,
                        'CreateDate' => $createDate,
                        'UpdateDate' => $createDate,
                        'IsActive' => $travelplanmarketPrice[$k]['IsActive'] ? $travelplanmarketPrice[$k]['IsActive'] : 0,
                        'IsMarkForDel' => 0,
                        'PackCategoryId' => $travelplandata[0]['EconomyMask'] ? $travelplandata[0]['EconomyMask'] : 0,
                        'TourType' => 1, // FOR private tour and readymade is always private
//                        'CostFourO' => $travelplanmarketPrice[$k]['CostFourO'] ? $travelplanmarketPrice[$k]['CostFourO'] : 0,
//                        'CostSixO' => $travelplanmarketPrice[$k]['CostSixO'] ? $travelplanmarketPrice[$k]['CostSixO'] : 0,
//                        'CostEightO' => $travelplanmarketPrice[$k]['CostEightO'] ? $travelplanmarketPrice[$k]['CostEightO'] : 0,
//                        'CostTenO' => $travelplanmarketPrice[$k]['CostTenO'] ? $travelplanmarketPrice[$k]['CostTenO'] : 0,
//                        'CostTwelveO' => $travelplanmarketPrice[$k]['CostTwelveO'] ? $travelplanmarketPrice[$k]['CostTwelveO'] : 0,
                        'CostInfent' => $travelplanmarketPrice[$k]['CostInfent'] ? $travelplanmarketPrice[$k]['CostInfent'] : 0,
                        'Pax' => $travelplanmarketPrice[$k]['Pax'] ? $travelplanmarketPrice[$k]['Pax'] : 0,
                    );

                    $travelitenramarketwsierate = $this->_crmcustomertravelMarketPlaces->addCustomerTravelMarketRate($travelmarketpriceArray);
                }
            }

            //        
            $travelplanterms = $this->_crmcusttravelplan->GetCustomerTravelPlanTerms($travelplanID);
            //print_r($travelplanterms);die;
            if (!empty($travelplanterms) ) {
                for ($k = 0; $k < count($travelplanterms); $k++) {
                    $travelplantermsArray = array(
                        'TPIntSysId' => $tpproposalID,
                        'AgencySysId' => $travelplanterms[$k]['AgencySysId'] ? $travelplanterms[$k]['AgencySysId'] : 0,
                        'Inclusions' => $travelplanterms[$k]['Inclusions'] ? $travelplanterms[$k]['Inclusions'] : 0,
                        'Exclusions' => $travelplanterms[$k]['Exclusions'] ? $travelplanterms[$k]['Exclusions'] : 0,
                        'CancellationPolicy' => $travelplanterms[$k]['CancellationPolicy'] ? $travelplanterms[$k]['CancellationPolicy'] : 0,
                        'TravelBasics' => $travelplanterms[$k]['TravelBasics'] ? $travelplanterms[$k]['TravelBasics'] : '',
                        'TermsAndConditions' => $travelplanterms[$k]['TermsAndConditions'] ? $travelplanterms[$k]['TermsAndConditions'] : '',
                        'BookingTerms' => $travelplanterms[$k]['BookingTerms'] ? $travelplanterms[$k]['BookingTerms'] : '',
                        //'BookingTerms' => $travelplanterms[$k]['BookingTerms'] ? $travelplanterms[$k]['BookingTerms'] : 0,
                        //'WhyUseUs' => $travelplanterms[$k]['WhyUseUs'] ? $travelplanterms[$k]['WhyUseUs'] : 0,
                        'WhyUseUs' => $travelplanterms[$k]['WhyUseUs'] ? $travelplanterms[$k]['WhyUseUs'] : '',
                        'CreateDate' => $createDate,
                        'UpdateDate' => $createDate,
                        'IsMarkForDel' => $travelplanterms[$k]['IsMarkForDel'] ? $travelplanterms[$k]['IsMarkForDel'] : 0,
                        'IsActive' => $travelplanterms[$k]['IsActive'] ? $travelplanterms[$k]['IsActive'] : 0,
                    );
                    //print_r($cancelPolicyData);
                    $travelitenramarketwsierate = $this->_crmcustomertravelTerm->addCustomerTerm($travelplantermsArray);
                }
            }

            $objPackage = new Travel_Model_TblPackage();
            $cancelPolicyData = $objPackage->getPackageCancelPolictyList($travelplanID);
            //         echo '<pre';print_r($cancelPolicyData); 
            if (!empty($cancelPolicyData) ) {
                $cancelPolicyArray = array();
                foreach ($cancelPolicyData as $cancelPolicy) {
                    unset($cancelPolicy['TPRulesSysId']);
                    $cancelPolicyArray = $cancelPolicy;
                    $cancelPolicyArray['TPSysId'] = $tpproposalID;
                    $cancelPolicyArray['CreateDate'] = $createDate;
                    $cancelPolicyArray['UpdateDate'] = $createDate;
                    $travelplancancelpolicyids[] = $objPackage->insertData('TB_Agency_Customer_TravelPlan_Rules', $cancelPolicyArray);
                }
            }

            $enctpproposalID = base64_encode($newTPSysID);
            echo json_encode(array('id' => $newTPSysID, 'encodedId' => $enctpproposalID));
            exit;
        }
    }
    function getAcutalVal($cost, $percentage)
    {
        $resultSet = (float) $cost +  (((float) $cost * (int) $percentage) / 100);
        return $resultSet;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit