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/modules/gtxwebservices/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/application/modules/gtxwebservices/models/DyanamicProposal.php
<?php

class Gtxwebservices_Model_DyanamicProposal extends Zend_Db_Table_Abstract {

    function __construct() {
        $this->db = Zend_Db_Table::getDefaultAdapter();
    }

    public function __destruct() {
        $this->db->closeConnection();
    }

    public function saveDynamicQueryData($requestPerameter) {
        try {
            $this->_dbObj->beginTransaction();
            $this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
            $AgencySysId = $requestPerameter["AgencySysId"];
            $AgentSysId = !empty($requestPerameter["AgentSysId"]) ? $requestPerameter["AgentSysId"] : '';
            $IsFromGTXNetwork = $requestPerameter['IsFromGTXNetwork'] ? $requestPerameter['IsFromGTXNetwork'] : 0;  // Added By Pardeep Panchal For Sharing GTXNetwork Packages...
            $GTXNetworkAgencySysId = $requestPerameter['GTXNetworkAgencySysId'] ? $requestPerameter['GTXNetworkAgencySysId'] : 0;  // Added By Pardeep Panchal For Sharing GTXNetwork Packages...
            $travelplanID = $requestPerameter["TravelPlanId"];
            $fname = $requestPerameter["FirstName"];
            $lname = isset($requestPerameter["LastName"])?$requestPerameter["LastName"]:0;
            $custemail = $email = $requestPerameter["Email"];
            $mobilenum = $requestPerameter["MobileNumber"];
            $createDate = $updatedate = date('Y-m-d H:i:s');
            $planbookingID = 'Q/' . date('y');
            $salution = "";
            $CRMCustSysId = "";
            $pkgCheckInDate = isset($requestPerameter['pkgCheckInDate'])?$requestPerameter['pkgCheckInDate']:0;
            $pkgCheckOutDate = isset($requestPerameter['pkgCheckOutDate'])?$requestPerameter['pkgCheckInDate']:0;
            $min_price = isset($requestPerameter['MinPrice']) ? $requestPerameter['MinPrice'] : '0';
            $max_price = isset($requestPerameter['MaxPrice']) ? $requestPerameter['MaxPrice'] : '0';
            $roomlp = !empty($requestPerameter['roomlp']) ? $requestPerameter['roomlp'] : '';
            $aboutpackage = !empty($requestPerameter['aboutpackage']) ? $requestPerameter['aboutpackage'] : '';
            $tripaddress = !empty($requestPerameter['tripaddress']) ? $requestPerameter['tripaddress'] : '';
            $cardcharges = !empty($requestPerameter['cardcharges']) ? $requestPerameter['cardcharges'] : 1;
            $MarkupArray = !empty($requestPerameter['MarkUp']) ? $requestPerameter['MarkUp'] : 0;
            $discountValue = !empty($requestPerameter['discountValue']) ? $requestPerameter['discountValue'] : 0;
            $IsShareWithGST = isset($requestPerameter['GSTIncluded']) ? $requestPerameter['GSTIncluded'] : 0;
            $AgencyMarkUp = !empty($requestPerameter['AgencyMarkUp1']) ? $requestPerameter['AgencyMarkUp1'] : 0;
            $Price = !empty($requestPerameter['Price']) ? $requestPerameter['Price'] : 0;
            $StaxDiscount = !empty($requestPerameter['StaxDiscount1']) ? $requestPerameter['StaxDiscount1'] : 0;
            $StaxMarkUp = !empty($requestPerameter['StaxMarkUp1']) ? $requestPerameter['StaxMarkUp1'] : 0;
            $XServiceTaxAmount = !empty($requestPerameter['XServiceTaxAmount']) ? $requestPerameter['XServiceTaxAmount'] : 0;
            $NetPrice = !empty($requestPerameter['NetPrice']) ? $requestPerameter['NetPrice'] : 0;
            $catID = !empty($requestPerameter['catID']) ? $requestPerameter['catID'] : 1;
            $tourID = !empty($requestPerameter['tourID']) ? $requestPerameter['tourID'] : 1;
            $MealTypeId = !empty($requestPerameter['mID']) ? $requestPerameter['mID'] : 0;
            $SACCode = !empty($requestPerameter['sac_code']) ? $requestPerameter['sac_code'] : 440063; // default value 440063 for Tour Oprators..
            $gsttype = !empty($requestPerameter['gsttype']) ? $requestPerameter['gsttype'] : 1;
            $queryTPSysId = !empty($requestPerameter['queryTPSysId']) ? $requestPerameter['queryTPSysId'] : '';
            $search_going_to = !empty($requestPerameter['search_going_to']) ? $requestPerameter['search_going_to'] : '';
            $IsB2BCustomer = !empty($requestPerameter['IsB2BCustomer']) ? $requestPerameter['IsB2BCustomer'] : 0;
            $IsB2BAgent = isset($requestPerameter['IsB2BAgent']) ? $requestPerameter['IsB2BAgent'] : 0;
            $aId = !empty($requestPerameter['aId']) ? $requestPerameter['aId'] : ''; //b2b agent id
            $EmailTemplateType = isset($requestPerameter['EmailTemplateType']) ? $requestPerameter['EmailTemplateType'] : 2;
            $EmailTemplateColor = isset($requestPerameter['EmailTemplateColor']) ? $requestPerameter['EmailTemplateColor'] : '';
            $AgencyCRMLeadSysId = isset($requestPerameter['leadID']) ? (int) $requestPerameter['leadID'] : 0;
            $going_from_cityid = (int) $requestPerameter['FromDestinationId'];
            $going_from_cityname = trim($requestPerameter['FromDestination']);
            $SelectPricingType = isset($requestPerameter['SelectPricing']) ? $requestPerameter['SelectPricing'] : 'OverAll';
            
            if ($going_from_cityid == 0) {
                $going_from_cityid = '';
            }
            $leadsourceTitle = isset($requestPerameter['leadsource']) ? $this->_HtmlPurifier->filter(trim($requestPerameter['leadsource'])) : 'Agency';
            $intLeadSourceSysId = $this->_crmcustomerObj->getLeadSource($AgencySysId, $leadsourceTitle); // for Master LeadSouce Creation
            $leadsource = (isset($intLeadSourceSysId[0]['LeadSourceSysId']) && !empty($intLeadSourceSysId[0]['LeadSourceSysId'])) ? $intLeadSourceSysId[0]['LeadSourceSysId'] : 0;
            if ($IsB2BCustomer == 1) {
                $MarketPlaceId = 2;
            } else {
                $MarketPlaceId = 1;
            }
            if (!empty($search_going_to)) {
                $search_going_to_dest = explode('__', $search_going_to);
                $going_to_cityname = $search_going_to_dest[1];
                $going_to_cityid = $search_going_to_dest[0];
            }
            $destPlaceArr = isset($requestPerameter['DestinationPlaces']) ? json_decode(base64_decode($requestPerameter['DestinationPlaces']), true) : '';
            if (isset($destPlaceArr) && !empty($destPlaceArr)) {
                foreach ($destPlaceArr as $destIds => $destValues) {
                    $destIdsArr[] = $destIds;
                    $destValuesArr[] = $destValues;
                }
                $destinationIds = implode(', ', $destIdsArr);
                $destinationValues = implode(', ', $destValuesArr);
            }
            $prevCustomerSysId = isset($requestPerameter['customerId']) ? $requestPerameter['customerId'] : '';
            if (!empty($pkgCheckInDate)) {
                $explode_trip_start = explode('/', $pkgCheckInDate);
                $main_trip_start_date = $explode_trip_start[2] . '-' . $explode_trip_start[1] . '-' . $explode_trip_start[0];
            } else {
                $main_trip_start_date = date('Y-m-d');
                $pkgCheckInDate = date("d/m/Y");
            }
            if (!empty($pkgCheckOutDate)) {
                $explode_trip_start = explode('/', $pkgCheckOutDate);
                $main_trip_end_date = $explode_trip_start[2] . '-' . $explode_trip_start[1] . '-' . $explode_trip_start[0];
            } else {
                $main_trip_end_date = date('Y-m-d');
                $pkgCheckOutDate = date("d/m/Y");
            }
            ######******************************Start Check user in system *************************************** */
            if (isset($email) && !empty($email)) {
                try {
                    if ($aId != '' || $IsB2BCustomer == 1 || $IsB2BAgent == 1) {
                        if ($aId != '') {
                            $customerDetailsEmail = $this->_crmcustomerObj->ChkEmailWithResponseUpdateB2B($email, $aId);
                        } else {
                            $customerDetailsEmail = $this->_crmcustomerObj->ChkEmailWithResponseB2B($email, $AgencySysId);
                        }
                    } else {
                        $customerDetailsEmail = $this->_crmcustomerObj->ChkEmailWithResponseUpdate($email, $AgencySysId);
                    }
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            if (isset($mobilenum) && !empty($mobilenum)) {
                try {
                    if ($aId != '' || $IsB2BCustomer == 1 || $IsB2BAgent == 1) {
                        if ($aId != '') {
                            $customerDetailsMobile = $this->_crmcustomerObj->ChkMobileWithResponseB2B($mobilenum, $aId, '', $CRMCustSysId);
                        } else {
                            $customerDetailsMobile = $this->_crmcustomerObj->ChkMobileExistInAgencyB2B($mobilenum, $AgencySysId);
                        }
                    } else {
                        $customerDetailsMobile = $this->_crmcustomerObj->ChkMobileWithResponse($mobilenum, $AgencySysId, '', $CRMCustSysId);
                    }
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            if (!empty($customerDetailsEmail) || !empty($customerDetailsMobile)) {
                $status = 'success';
                $CustomerSysId = $customerDetailsEmail['CustomerSysId'] ? $customerDetailsEmail['CustomerSysId'] : $customerDetailsMobile['CustomerSysId'];
                $CRMCustSysId = $customerDetailsEmail['CRMCustSysId'] ? $customerDetailsEmail['CRMCustSysId'] : $customerDetailsMobile['CRMCustSysId'];
            } else {
                $status = 'failure';
                $CRMCustSysId = '';
            }
            if ($status == 'failure' || $CustomerSysId == '') {
                if ($CRMCustSysId == '') {
                    $userArray = array(
                        'EmailId' => $email,
                        'Salutation' => 1,
                        'PrimaryContactNumber' => '',
                        'FullName' => $fname . ' ' . $lname,
                        'FirstName' => $fname,
                        'LastName' => $lname ? $lname : '',
                        'ActiveDate' => $updatedate,
                        'UpdatedDate' => $updatedate,
                        'CreatedDate' => $updatedate,
                        'IsApproved' => '1',
                        'IsActive' => '1',
                        'IsMarkForDelete' => '0'
                    );
                    $CRMCustSysId = $this->_crmcustomerObj->addCustomer($userArray);
                }
                $userLeadArray = array(
                    'AgencySysId' => $AgencySysId,
                    'EmailId' => $email,
                    'Salutation' => $salution ? $salution : 0,
                    'PrimaryContactNumber' => $mobilenum ? $mobilenum : '',
                    'FullName' => $fname . ' ' . $lname,
                    'FirstName' => $fname ? $fname : '',
                    'LastName' => $lname ? $lname : '',
                    'LeadSourceSysId' => $leadsource,
                    'LeadStageSysId' => "",
                    'AssignUserSysId' => '',
                    'ActiveDate' => $updatedate,
                    'UpdatedDate' => $updatedate,
                    'CreatedDate' => $updatedate,
                    'IsApproved' => '1',
                    'IsActive' => '1',
                    'IsMarkForDelete' => '0'
                );
                if ((int) $AgencyCRMLeadSysId > 0) {
                    $AgencyCRMLeadSysId = $AgencyCRMLeadSysId;
                } else {
                    $AgencyCRMLeadSysId = $this->_crmagencyleadaccountObj->addCustomer($userLeadArray);
                }
                $agencyuserArray = array(
                    'AgencySysId' => $AgencySysId,
                    'AgencyCRMLeadSysId' => $AgencyCRMLeadSysId,
                    'CRMCustSysId' => $CRMCustSysId,
                    'EmailId' => $email,
                    'Title' => $salution ? $salution : 0,
                    'Logo' => '',
                    'IsfromSM' => '0',
                    'UserId' => '0',
                    'CitySysId' => '',
                    'StateOrZoneSysId' => 0,
                    'CountrySysId' => '',
                    'IsEmployee' => '0',
                    'Contacts' => $mobilenum ? $mobilenum : '',
                    'JoinDate' => $updatedate,
                    'UserName' => $fname . '' . $lname,
                    'FirstName' => $fname ? $fname : '',
                    'LastName' => $lname ? $lname : '',
                    'Relation' => '',
                    'PassportNo' => '',
                    'PassportExpiry' => '',
                    'DOB' => '',
                    'MarriageAnniversary' => '',
                    'CreatedByUserSysId' => '',
                    'RegisterDate' => $updatedate,
                    'UpdateDate' => $updatedate,
                    'IsApproved' => '0',
                    'IsActive' => '1',
                    'IsMarkForDelete' => '0'
                );
                ### Insert Record in to Agency Table as well ########
                $CustomerSysId = $this->_agencycustomerObj->addAgencyCustomer($agencyuserArray);
            }
            try {
                $travelplandata = $this->GetTravelPlan($travelplanID);
                $PkgSellValidTill = $travelplandata[0]['PkgSellValidTill'];
            } catch (Zend_Exception $e) {
                $error_Message = $e->getMessage();
            }
            if ((int) $IsB2BAgent == 1 && $CustomerSysId > 0) {
                $getB2bAgencySysId = $this->_crmcusttravelplan->getB2bAgencySysId($CustomerSysId);
                $GTXNetworkAgencySysId = isset($getB2bAgencySysId[0]['AgencySysId'])?$getB2bAgencySysId[0]['AgencySysId']:0;
            }
            if (empty($queryTPSysId) || ($prevCustomerSysId != '' && $prevCustomerSysId != $CustomerSysId)) {
             
           
                $customertravelpaln = array(
                    'PlanBookingId' => $planbookingID,
                    'MasterTPSysId' => '',
                    'AgencySysId' => $AgencySysId,
                    'AgentSysId' => $AgentSysId,
                    'CreatorSysId' => !empty($AgentSysId) ? $AgentSysId : $travelplandata[0]['AgentSysId'],
                    'StatusType' => (isset($leadsourceTitle) && ($leadsourceTitle == 'Website' && $IsB2BCustomer == 0)) ? 1 : 2,
                    'CustomerSysId' => $CustomerSysId,
                    'PlanType' => 5,
                    'InventoryType' => 5,
                    'MinPax' => $travelplandata[0]['MinPax'] ? $travelplandata[0]['MinPax'] : 0,
                    'PackRangeType' => $travelplandata[0]['PackRangeType'] ? $travelplandata[0]['PackRangeType'] : 0,
                    'Title' => $travelplandata[0]['Title'] ? $travelplandata[0]['Title'] : '',
                    'EconomyMask' => !empty($catID) ? $catID : 1,
                    'BYOPackTypeMask' => $travelplandata[0]['BYOPackTypeMask'] ? $travelplandata[0]['BYOPackTypeMask'] : '',
                    'PackTypeMask' => '',
                    'InclCatMask' => $travelplandata[0]['InclCatMask'] ? $travelplandata[0]['InclCatMask'] : 0,
                    'InclMask' => '',
                    'ExclusionMask' => $travelplandata[0]['ExclusionMask'] ? $travelplandata[0]['ExclusionMask'] : '',
                    'PackSpecType' => $travelplandata[0]['PackSpecType'] ? $travelplandata[0]['PackSpecType'] : '',
                    'SupplierSysId' => isset($travelplandata[0]['SupplierSysId']) ? $travelplandata[0]['SupplierSysId'] : '0',
                    'PriceRange' => 0,
                    'SeasonMask' => $travelplandata[0]['SeasonMask'] ? $travelplandata[0]['SeasonMask'] : 0,
                    'GeoType' => $travelplandata[0]['GeoType'] ? $travelplandata[0]['GeoType'] : 0,
                    'IsFixDatePlan' => $travelplandata[0]['IsFixDatePlan'] ? $travelplandata[0]['IsFixDatePlan'] : 0,
                    'IsFixPlan' => $travelplandata[0]['IsFixPlan'] ? $travelplandata[0]['IsFixPlan'] : 0,
                    'Details' => $travelplandata[0]['Details'] ? $travelplandata[0]['Details'] : '',
                    'ImageTN' => $travelplandata[0]['ImageTN'] ? $travelplandata[0]['ImageTN'] : '',
                    'ImgForList' => $travelplandata[0]['ImgForList'] ? $travelplandata[0]['ImgForList'] : '',
                    'ImgeDetails' => $travelplandata[0]['ImgeDetails'] ? $travelplandata[0]['ImgeDetails'] : '',
                    'StartDate' => $main_trip_start_date,
                    'ValidTill' => $main_trip_end_date ? $main_trip_end_date : '',
                    'PkgSellValidTill' => $PkgSellValidTill ? $PkgSellValidTill->format('Y-m-d') : '',
                    'Price' => $travelplandata[0]['Price'] ? $travelplandata[0]['Price'] : 0,
                    'CurrencyType' => $travelplandata[0]['CurrencyType'] ? $travelplandata[0]['CurrencyType'] : 0,
                    'DiscountMsg' => $travelplandata[0]['DiscountMsg'] ? $travelplandata[0]['DiscountMsg'] : '',
                    'DiscountType' => $travelplandata[0]['DiscountType'] ? $travelplandata[0]['DiscountType'] : 0,
                    'DiscountVal' => $travelplandata[0]['DiscountVal'] ? $travelplandata[0]['DiscountVal'] : 0,
                    'AdvBookingPercent' => $travelplandata[0]['AdvBookingPercent'] ? $travelplandata[0]['AdvBookingPercent'] : 0,
                    'AdvBookingDays' => $travelplandata[0]['AdvBookingDays'] ? $travelplandata[0]['AdvBookingDays'] : 0,
                    'NetPrice' => $travelplandata[0]['NetPrice'] ? $travelplandata[0]['NetPrice'] : 0,
                    'MinPrice' => $min_price ? $min_price : 0,
                    'MaxPrice' => $max_price ? $max_price : 0,
                    'TotalMinDays' => $travelplandata[0]['TotalMinDays'] ? $travelplandata[0]['TotalMinDays'] : 0,
                    'TotalMaxDays' => $travelplandata[0]['TotalMaxDays'] ? $travelplandata[0]['TotalMaxDays'] : 0,
                    'Hotels' => $travelplandata[0]['Hotels'] ? $travelplandata[0]['Hotels'] : '',
                    'PopularPlaces' => $travelplandata[0]['PopularPlaces'] ? $travelplandata[0]['PopularPlaces'] : '',
                    'SourcePlaceSysId' => isset($travelplandata[0]['SourcePlaceSysId']) ? $travelplandata[0]['SourcePlaceSysId'] : '',
                    'SourcePlaces' => isset($travelplandata[0]['SourcePlaces']) ? $travelplandata[0]['SourcePlaces'] : '',
                    'DestinationPlacesSysId' => isset($going_to_cityid) ? $going_to_cityid : $destinationIds,
                    'DestinationPlaces' => isset($going_to_cityname) ? $going_to_cityname : $destinationValues,
                    'CityIds' => $destinationIds ? $destinationIds : '',
                    'Cities' => $destinationValues ? $destinationValues : '',
                    'Countries' => $travelplandata[0]['Countries'] ? $travelplandata[0]['Countries'] : '',
                    'IsMarkForDel' => $travelplandata[0]['IsMarkForDel'] ? $travelplandata[0]['IsMarkForDel'] : '0',
                    'DestinationCovered' => $travelplandata[0]['DestinationCovered'] ? $travelplandata[0]['DestinationCovered'] : '0',
                    'RoomInfoJson' => $requestPerameter['roomjson'] ? $requestPerameter['roomjson'] : '',
                    'GreetingMessage' => $aboutpackage ? $aboutpackage : '',
                    'EmailText' => '',
                    'EmailDestination' => $destinationValues ? $destinationValues : '',
                    'ProposalEmailTo' => trim($email),
                    'CreateDate' => $createDate,
                    'UpdateDate' => $createDate,
                    'IsActive' => (isset($leadsourceTitle) && ($leadsourceTitle == 'Website' && $IsB2BCustomer == 0)) ? 0 : 1,
                    'Readymade' => 2, // for dynamic package
                    'IsAprooved' => 1,
                    'TPId' => $travelplandata[0]['TPSysId'],
                    'IsPriceShared' => 1, // to detect withprice or without price true = If price shared , false = price range shared
                    'TourType' => $tourID,
                    '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
                    'SACCode' => $SACCode,
                    'LeadSourceSysId' => $leadsource,
                    'PackageCostCalType' => !empty($travelplandata[0]['PackageCostCalType']) ? $travelplandata[0]['PackageCostCalType'] : 0, // to detect package is by lowest cost or by meal plan
                    'B2BAgencySysId' => trim($GTXNetworkAgencySysId),
                    'SharedMealPlanType' => $MealTypeId, // shared meal plan id 
                    'IsB2Bproposal' => trim($IsB2BCustomer) ? trim($IsB2BCustomer) : '0',
                    'IsGTXNetwork' => $IsFromGTXNetwork,
                    'EmailTemplateType' => !empty($EmailTemplateType) ? $EmailTemplateType : '1',
                    'EmailTemplateColor' => !empty($EmailTemplateColor) ? $EmailTemplateColor : '',
                    'IsShareWithGST' => $IsShareWithGST,
                    'ProposalEmailFrom' => '',
                    'LeadSysId' => (int) $AgencyCRMLeadSysId
                );
                try {
                    $where = "AgencyCRMLeadSysId = " . $AgencyCRMLeadSysId;
                    $userArray = array(
                        'IsApproved' => '1',
                        'UpdatedDate' => $createDate,
                        'LeadStageSysId' => 50
                    );
                    $this->_crmagencyleadaccountObj->UpdateGtxCrmCustomer($userArray, $where);
                    $leadID = $this->_crmcusttravelplan->addCustomerTravelPlanQuery($customertravelpaln);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            } else {
                $leadID = $queryTPSysId;
                $where = "TPSysId = " . $leadID;
                $updatetravelplan = array(
                    'UpdateDate' => $createDate,
                    'PackSpecType' => $travelplandata[0]['PackSpecType'] ? $travelplandata[0]['PackSpecType'] : '',
                    'Readymade' => 2,
                    'IsPriceShared' => 1,
                    'SharedMealPlanType' => $MealTypeId, // shared meal plan id 
                    'BYOPackTypeMask' => $travelplandata[0]['BYOPackTypeMask'] ? $travelplandata[0]['BYOPackTypeMask'] : '',
                    'Title' => $travelplandata[0]['Title'] ? $travelplandata[0]['Title'] : '',
                    'CustomerSysId' => $CustomerSysId,
                    'StatusType' => (isset($leadsourceTitle) && ($leadsourceTitle == 'Website' && $IsB2BCustomer == 0)) ? 1 : 2,
                    'B2BAgencySysId' => trim($GTXNetworkAgencySysId),
                );
                try {
                    $updatetravelPlan = $this->UpdateCustomerTravelPlanQuery($updatetravelplan, $where);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            $VersionIdDetails = $this->GetLatestVersionID($leadID);
            $VersionId = (count($VersionIdDetails) > 0) ? $VersionIdDetails[0]['VersionId'] + 1 : 1;
            $agentDetails = $this->getAgentDetails($AgentSysId);
            $sendersEmailId = $agentDetails['EmailId'];
            $proposalEmailFrom = $requestPerameter['senderEmailID'] ? trim($requestPerameter['senderEmailID']) : trim($sendersEmailId);
            $customertravelpalnProposal12 = array(
                'VersionId' => $VersionId,
                'PlanBookingId' => $planbookingID,
                'MasterTPSysId' => $leadID,
                'AgencySysId' => $AgencySysId,
                'AgentSysId' => !empty($AgentSysId) ? $AgentSysId : $travelplandata[0]['AgentSysId'],
                'CreatorSysId' => !empty($AgentSysId) ? $AgentSysId : $travelplandata[0]['AgentSysId'],
                'StatusType' => 4,
                'CustomerSysId' => $CustomerSysId,
                'PlanType' => 5,
                'InventoryType' => 5,
                'MinPax' => $travelplandata[0]['MinPax'] ? $travelplandata[0]['MinPax'] : 0,
                'PackRangeType' => $travelplandata[0]['PackRangeType'] ? $travelplandata[0]['PackRangeType'] : 0,
                'Title' => $travelplandata[0]['Title'] ? $travelplandata[0]['Title'] : '',
                'EconomyMask' => !empty($catID) ? $catID : 1,
                'PackTypeMask' => $travelplandata[0]['PackTypeMask'] ? $travelplandata[0]['PackTypeMask'] : '',
                'InclCatMask' => $travelplandata[0]['InclCatMask'] ? $travelplandata[0]['InclCatMask'] : 0,
                'InclMask' => $travelplandata[0]['InclMask'] ? $travelplandata[0]['InclMask'] : '',
                'ExclusionMask' => $travelplandata[0]['ExclusionMask'] ? $travelplandata[0]['ExclusionMask'] : '',
                'PackSpecType' => $travelplandata[0]['PackSpecType'] ? $travelplandata[0]['PackSpecType'] : '',
                'SupplierSysId' => isset($travelplandata[0]['SupplierSysId']) ? $travelplandata[0]['SupplierSysId'] : '0',
                'PriceRange' => 0,
                'Readymade' => 2,
                'SeasonMask' => $travelplandata[0]['SeasonMask'] ? $travelplandata[0]['SeasonMask'] : 0,
                'GeoType' => $travelplandata[0]['GeoType'] ? $travelplandata[0]['GeoType'] : 0,
                'IsFixDatePlan' => $travelplandata[0]['IsFixDatePlan'] ? $travelplandata[0]['IsFixDatePlan'] : 0,
                'IsFixPlan' => $travelplandata[0]['IsFixPlan'] ? $travelplandata[0]['IsFixPlan'] : 0,
                'Details' => $travelplandata[0]['Details'] ? $travelplandata[0]['Details'] : '',
                'ImageTN' => $travelplandata[0]['ImageTN'] ? $travelplandata[0]['ImageTN'] : '',
                'ImgForList' => $travelplandata[0]['ImgForList'] ? $travelplandata[0]['ImgForList'] : '',
                'ImgeDetails' => $travelplandata[0]['ImgeDetails'] ? $travelplandata[0]['ImgeDetails'] : '',
                'StartDate' => $main_trip_start_date,
                'ValidTill' => $main_trip_end_date ? $main_trip_end_date : '',
                'PkgSellValidTill' => $PkgSellValidTill ? $PkgSellValidTill->format('Y-m-d') : '',
                'CurrencyType' => $travelplandata[0]['CurrencyType'] ? $travelplandata[0]['CurrencyType'] : 0,
                'DiscountMsg' => $travelplandata[0]['DiscountMsg'] ? $travelplandata[0]['DiscountMsg'] : '',
                'DiscountType' => $travelplandata[0]['DiscountType'] ? $travelplandata[0]['DiscountType'] : 0,
                'AdvBookingPercent' => $travelplandata[0]['AdvBookingPercent'] ? $travelplandata[0]['AdvBookingPercent'] : 0,
                'AdvBookingDays' => $travelplandata[0]['AdvBookingDays'] ? $travelplandata[0]['AdvBookingDays'] : 0,
                'Price' => $Price ? $Price : 0,
                'NetPrice' => $NetPrice ? $NetPrice : 0,
                'DiscountVal' => $travelplandata[0]['DiscountVal'] ? $travelplandata[0]['DiscountVal'] : 0,
                'CustomDiscount' => ($discountValue[0] > 0) ? $discountValue[0] : 0,
                'AgentsCustomServiceTaxAmount' => $StaxMarkUp ? $StaxMarkUp : 0,
                'ServiceTaxOnCustomDiscount' => $StaxDiscount ? $StaxDiscount : 0,
                'MarkUp' => ($MarkupArray[0] > 0) ? $MarkupArray[0] : 0,
                'AgencyMarkUp' => $AgencyMarkUp ? $AgencyMarkUp : 0,
                'XServiceTaxAmount' => $XServiceTaxAmount,
                'GTXServiceTaxAmount' => 0,
                'AgentServiceTaxAmount' => 0,
                'GTXMarkup' => 0,
                'MinPrice' => $travelplandata[0]['MinPrice'] ? $travelplandata[0]['MinPrice'] : 0,
                'IsCardChrgToCustomer' => $cardcharges,
                'TotalMinDays' => $travelplandata[0]['TotalMinDays'] ? $travelplandata[0]['TotalMinDays'] : 0,
                'TotalMaxDays' => $travelplandata[0]['TotalMaxDays'] ? $travelplandata[0]['TotalMaxDays'] : 0,
                'Hotels' => $travelplandata[0]['Hotels'] ? $travelplandata[0]['Hotels'] : '',
                'PopularPlaces' => $travelplandata[0]['PopularPlaces'] ? $travelplandata[0]['PopularPlaces'] : '',
                'SourcePlaceSysId' => isset($travelplandata[0]['SourcePlaceSysId']) ? $travelplandata[0]['SourcePlaceSysId'] : '',
                'SourcePlaces' => isset($travelplandata[0]['SourcePlaces']) ? $travelplandata[0]['SourcePlaces'] : '',
                'DestinationPlacesSysId' => isset($destinationIds) ? $destinationIds : $going_to_cityid,
                'DestinationPlaces' => isset($destinationValues) ? $destinationValues : $going_to_cityname,
                'CityIds' => $destinationIds ? $destinationIds : '',
                'Cities' => $destinationValues ? $destinationValues : '',
                'Countries' => $travelplandata[0]['Countries'] ? $travelplandata[0]['Countries'] : '',
                'IsMarkForDel' => $travelplandata[0]['IsMarkForDel'] ? $travelplandata[0]['IsMarkForDel'] : '0',
                'RoomInfoJson' => $requestPerameter['roomjson'] ? $requestPerameter['roomjson'] : '',
                'CreateDate' => $createDate,
                'UpdateDate' => $createDate,
                'IsActive' => (isset($leadsourceTitle) && ($leadsourceTitle == 'Website' && $IsB2BCustomer == 0)) ? 0 : 1,
                'IsAprooved' => 1,
                'IsMarkForDel' => $travelplandata[0]['IsMarkForDel'] ? $travelplandata[0]['IsMarkForDel'] : '0',
                'TPId' => $travelplandata[0]['TPSysId'],
                'IsPriceShared' => 1, // to detect withprice or without price true = If price shared , false = price range shared
                'GreetingMessage' => $aboutpackage ? $aboutpackage : '',
                'EmailText' => '',
                'EmailDestination' => $tripaddress,
                'ProposalEmailTo' => trim($custemail),
                'IsShared' => 1,
                'GroupSize' => $travelplandata[0]['GroupSize'] ? $travelplandata[0]['GroupSize'] : '',
                'IsInsuranceExist' => $travelplandata[0]['TravelInsurance'] ? $travelplandata[0]['TravelInsurance'] : '',
                'BYOPackTypeMask' => $travelplandata[0]['BYOPackTypeMask'] ? $travelplandata[0]['BYOPackTypeMask'] : '',
                'PackSpecType' => 3,
                'TourType' => $tourID,
                'IsFixDatePlan' => $travelplandata[0]['IsFixDatePlan'] ? $travelplandata[0]['IsFixDatePlan'] : '',
                '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
                'SACCode' => $SACCode,
                'PackageCostCalType' => !empty($travelplandata[0]['PackageCostCalType']) ? $travelplandata[0]['PackageCostCalType'] : 0, // to detect package is by lowest cost or by meal plan
                'B2BAgencySysId' => trim($GTXNetworkAgencySysId),
                'SharedMealPlanType' => $MealTypeId, // shared meal plan id 
                'LeadSourceSysId' => $leadsource,
                'IsB2Bproposal' => trim($IsB2BCustomer) ? trim($IsB2BCustomer) : '0',
                'IsGTXNetwork' => $IsFromGTXNetwork,
                'DestinationCovered' => $travelplandata[0]['DestinationCovered'] ? $travelplandata[0]['DestinationCovered'] : '0',
                'EmailTemplateType' => !empty($EmailTemplateType) ? $EmailTemplateType : '1',
                'EmailTemplateColor' => !empty($EmailTemplateColor) ? $EmailTemplateColor : '',
                'IsShareWithGST' => $IsShareWithGST,
                'ProposalEmailFrom' => $proposalEmailFrom,
                'LeadSysId' => (int) $AgencyCRMLeadSysId,
                'SelectPricingType' => $SelectPricingType
            );
            try {
                $tpproposalID = $this->_crmcusttravelplan->addCustomerTravelPlan($customertravelpalnProposal12);
                if (count($tpproposalID) > 0) {
                    $agencyuserArray = array(
                        'UpdateDate' => $createDate
                    );
                    $whereAgencyCustomer = " AgencySysId=" . $AgencySysId . " AND CustomerSysId=" . $CustomerSysId . "";
                    $agencyCustomerData = $this->_agencycustomerObj->UpdateAgencyCustomer($agencyuserArray, $whereAgencyCustomer);
                }
            } catch (Zend_Exception $e) {
                $error_Message = $e->getMessage();
            }
            ##################################################################
            $travelplanIetnaryData = $this->GetTravelPlanItenary($travelplanID);
            $travelpanitenary = array_column($travelplanIetnaryData, 'TPIntSysId');
            $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,
                    'StartDate' => $tpstart_date,
                    'EndDate' => $tpend_date,
                    'CreateDate' => $createDate,
                    'UpdateDate' => $createDate,
                );
                try {
                    $lasttravelitenaryID[] = $this->_crmcustomertravelItenary->addCustomerTravelItenary($travelitenaryarray);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            ##################################################################
            $tplanitenaryaccomdata = $this->GetTravelPlanItenaryAccom($tplanitenayvalues, $catID);
            for ($k = 0; $k < count($tplanitenaryaccomdata); $k++) {
                $existingtpintID = $tplanitenaryaccomdata[$k]['TPIntSysId'];
                $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                if ($tplanitenaryaccomdata[$k]['MasterIntSysId'] > 0) {
                    $masterintsysID = $tplanitenaryaccomdata[$k]['MasterIntSysId'];
                    $getkeyvalueintID = array_search($masterintsysID, $travelpanitenary);
                    $getmasterID = $lasttravelitenaryID[$getkeyvalueintID];
                } else {
                    $getmasterID = 0;
                }
                if ((isset($leadsourceTitle) && $leadsourceTitle == 'Website')) {
                    $IsSelectedOnPkg = 0;
                } else {
                    $IsSelectedOnPkg = $tplanitenaryaccomdata[$k]['IsSelectedOnPkg'] ? $tplanitenaryaccomdata[$k]['IsSelectedOnPkg'] : 0;
                }
                if (isset($leadsourceTitle) && $leadsourceTitle == 'Website' && count($requestPerameter['ItineraryArray']['itineraries'][$existingtpintID]['hotel']) > 0) {
                    foreach ($requestPerameter['ItineraryArray']['itineraries'][$existingtpintID]['hotel'] as $key => $value) {
                        if ($tplanitenaryaccomdata[$k]['InvnItemSysId'] == $value['itemid'] && $value['IsIncluded'] == 1) {
                            $IsSelectedOnPkg = 1;
                        }
                    }
                }
                $travelitenaryaccomArray = array(
                    'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                    'MasterIntSysId' => $getmasterID,
                    'SeqId' => $tplanitenaryaccomdata[$k]['SeqId'] ? $tplanitenaryaccomdata[$k]['SeqId'] : 0,
                    'AgencySysId' => $tplanitenaryaccomdata[$k]['AgencySysId'] ? $tplanitenaryaccomdata[$k]['AgencySysId'] : 0,
                    'AccoSysId' => $tplanitenaryaccomdata[$k]['AccoSysId'] ? $tplanitenaryaccomdata[$k]['AccoSysId'] : 0,
                    'InvnItemSysId' => $tplanitenaryaccomdata[$k]['InvnItemSysId'] ? $tplanitenaryaccomdata[$k]['InvnItemSysId'] : '0',
                    'RoomType' => $tplanitenaryaccomdata[$k]['RoomType'] ? $tplanitenaryaccomdata[$k]['RoomType'] : 0,
                    'MealPlanType' => $tplanitenaryaccomdata[$k]['MealPlanType'] ? $tplanitenaryaccomdata[$k]['MealPlanType'] : 0,
                    'RoomNumber' => $tplanitenaryaccomdata[$k]['RoomNumber'] ? $tplanitenaryaccomdata[$k]['RoomNumber'] : '',
                    'RoomTypeStr' => $tplanitenaryaccomdata[$k]['RoomTypeStr'] ? $tplanitenaryaccomdata[$k]['RoomTypeStr'] : '',
                    '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' => $tplanitenaryaccomdata[$k]['FromDate'] ? $tplanitenaryaccomdata[$k]['FromDate'] : '',
                    'ToDate' => $tplanitenaryaccomdata[$k]['ToDate'] ? $tplanitenaryaccomdata[$k]['ToDate'] : '',
                    'AdultPax' => 0,
                    'ChildPax' => 0,
                    'InfantPax' => 0,
                    'PetPax' => 0,
                    'TotalPax' => $tplanitenaryaccomdata[$k]['TotalPax'] ? $tplanitenaryaccomdata[$k]['TotalPax'] : 0,
                    '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' => $IsSelectedOnPkg,
                    'CreateDate' => $tplanitenaryaccomdata[$k]['CreateDate'] ? $tplanitenaryaccomdata[$k]['CreateDate'] : '',
                    'UpdateDate' => $tplanitenaryaccomdata[$k]['UpdateDate'] ? $tplanitenaryaccomdata[$k]['UpdateDate'] : '',
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                    'IsFromAPI' => 0,
                    'SupplierSysId' => $tplanitenaryaccomdata[$k]['SupplierSysId'] ? $tplanitenaryaccomdata[$k]['SupplierSysId'] : '',
                    'SourceSysId' => $tplanitenaryaccomdata[$k]['SourceSysId'] ? $tplanitenaryaccomdata[$k]['SourceSysId'] : '',
                    'TotalCostSO' => $tplanitenaryaccomdata[$k]['TotalCostSO'] ? $tplanitenaryaccomdata[$k]['TotalCostSO'] : 0,
                    'TotalCostDO' => $tplanitenaryaccomdata[$k]['TotalCostDO'] ? $tplanitenaryaccomdata[$k]['TotalCostDO'] : 0,
                    'TotalCostTO' => 0,
                    'TotalCost' => $tplanitenaryaccomdata[$k]['TotalCost'] ? $tplanitenaryaccomdata[$k]['TotalCost'] : 0,
                    'RoomMemInfoJson' => $requestPerameter['roomjson'] ? $requestPerameter['roomjson'] : '',
                    'TotalCostExtraBed' => $tplanitenaryaccomdata[$k]['TotalCostExtraBed'] ? $tplanitenaryaccomdata[$k]['TotalCostExtraBed'] : 0,
                    'TotalCostWithoutBed' => $tplanitenaryaccomdata[$k]['TotalCostWithoutBed'] ? $tplanitenaryaccomdata[$k]['TotalCostWithoutBed'] : 0,
                    'BYOPackType' => $tplanitenaryaccomdata[$k]['BYOPackType'] ? $tplanitenaryaccomdata[$k]['BYOPackType'] : '1',
                );
                try {
                    $tplanitenaryaccomdataID = $this->_crmcusttravelplanItenaryAccom->addCustomerTravelPlanAccom($travelitenaryaccomArray);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            ##################################################################
            $tpitenrayEvents = $this->GetTravelPlanItenaryEvents($tplanitenayvalues);
            if (count($tpitenrayEvents) > 0) {
                for ($k = 0; $k < count($tpitenrayEvents); $k++) {
                    $existingtpintID = $tpitenrayEvents[$k]['TPIntSysId'];
                    $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                    $IsOptionalActivity = $tpitenrayEvents[$k]['IsOptionalActivity'] ? $tpitenrayEvents[$k]['IsOptionalActivity'] : 0;
                    if (isset($leadsourceTitle) && $leadsourceTitle == 'Website' && count($requestPerameter['ItineraryArray']['itineraries'][$existingtpintID]['activity']) > 0) {
                        foreach ($requestPerameter['ItineraryArray']['itineraries'][$existingtpintID]['activity'] as $key => $value) {
                            if ($tpitenrayEvents[$k]['TPActivitySysId'] == $value['itemid'] && $value['IsIncluded'] == 1) {
                                $IsOptionalActivity = 1;
                            }
                        }
                    }
                    $tpitenrayevntsArray = array(
                        'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                        'Sequence' => $tpitenrayEvents[$k]['Sequence'] ? $tpitenrayEvents[$k]['Sequence'] : 0,
                        'AgencySysId' => $tpitenrayEvents[$k]['AgencySysId'] ? $tpitenrayEvents[$k]['AgencySysId'] : 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,
                        'IsMarkForDel' => $tpitenrayEvents[$k]['IsMarkForDel'] ? $tpitenrayEvents[$k]['IsMarkForDel'] : 0,
                        'IsActive' => $tpitenrayEvents[$k]['IsActive'] ? $tpitenrayEvents[$k]['IsActive'] : 1,
                        'Cost' => $tpitenrayEvents[$k]['Cost'] ? $tpitenrayEvents[$k]['Cost'] : 0,
                        'KidsCost' => $tpitenrayEvents[$k]['KidsCost'] ? $tpitenrayEvents[$k]['KidsCost'] : 0,
                        'Markup' => $tpitenrayEvents[$k]['Markup'] ? $tpitenrayEvents[$k]['Markup'] : 0,
                        'TotalCost' => $tpitenrayEvents[$k]['TotalCost'] ? $tpitenrayEvents[$k]['TotalCost'] : 0,
                        'IsOptionalActivity' => $IsOptionalActivity,
                        'SupplierSysId' => $tpitenrayEvents[$k]['SupplierSysId'] ? $tpitenrayEvents[$k]['SupplierSysId'] : 0,
                    );
                    try {
                        $travelitenrayevents = $this->_crmcustomertravelItenaryEvents->addCustomerTravelItenaryEvents($tpitenrayevntsArray);
                    } catch (Zend_Exception $e) {
                        $error_Message = $e->getMessage();
                    }
                }
            }
            ##################################################################
            $tpitenarysightseeing = $this->GetTravelPlanSightSeeing($tplanitenayvalues);
            if (count($tpitenarysightseeing) > 0) {
                for ($k = 0; $k < count($tpitenarysightseeing); $k++) {
                    $existingtpintID = $tpitenarysightseeing[$k]['InvnItemSysId'];
                    $getkeyvalue = array_search($existingtpintID, $travelpanitenary);
                    $fromDate = $tpitenarysightseeing[$k]['FromDate'];
                    $toDate = $tpitenarysightseeing[$k]['ToDate'];
                    $IsOptionalSightSeeing = $tpitenarysightseeing[$k]['IsOptionalSightSeeing'] ? $tpitenarysightseeing[$k]['IsOptionalSightSeeing'] : 0;
                    $tpitenraysightseeingArray = array(
                        'InvnItemSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 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,
                        'Title' => $tpitenarysightseeing[$k]['Title'] ? $tpitenarysightseeing[$k]['Title'] : 0,
                        'Type' => $tpitenarysightseeing[$k]['Type'] ? $tpitenarysightseeing[$k]['Type'] : 0,
                        'CityId' => $tpitenarysightseeing[$k]['CityId'] ? $tpitenarysightseeing[$k]['CityId'] : 0,
                        'Cost' => $tpitenarysightseeing[$k]['Cost'] ? $tpitenarysightseeing[$k]['Cost'] : 0,
                        'FromDate' => $fromDate->format('Y-m-d'),
                        'ToDate' => $toDate->format('Y-m-d'),
                        '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' => $createDate,
                        'UpdateDate' => $createDate,
                        'IsActive' => $tpitenarysightseeing[$k]['IsActive'] ? $tpitenarysightseeing[$k]['IsActive'] : 0,
                        'IsMarkForDelete' => $tpitenarysightseeing[$k]['IsMarkForDelete'] ? $tpitenarysightseeing[$k]['IsMarkForDelete'] : 0,
                        'Cost' => $tpitenarysightseeing[$k]['Cost'] ? $tpitenarysightseeing[$k]['Cost'] : 0,
                        'KidsCost' => $tpitenarysightseeing[$k]['KidsCost'] ? $tpitenarysightseeing[$k]['KidsCost'] : 0,
                        'Markup' => $tpitenarysightseeing[$k]['Markup'] ? $tpitenarysightseeing[$k]['Markup'] : 0,
                        'TotalCost' => $tpitenarysightseeing[$k]['TotalCost'] ? $tpitenarysightseeing[$k]['TotalCost'] : 0,
                        'IsOptionalSightSeeing' => $IsOptionalSightSeeing,
                        'SupplierSysId' => $tpitenarysightseeing[$k]['SupplierSysId'] ? $tpitenarysightseeing[$k]['SupplierSysId'] : 0,
                    );
                    try {
                        $travelitenraysightssing = $this->_crmcustomertravelSightSeeing->addCustomerTravelItenarySightSeeing($tpitenraysightseeingArray);
                    } catch (Zend_Exception $e) {
                        $error_Message = $e->getMessage();
                    }
                }
            }
            ##################################################################
            $travelplanmarketPrice = $this->GetTravelMarketPrice($travelplanID, $MarketPlaceId);
            if (count($travelplanmarketPrice) > 0) {
                for ($k = 0; $k < count($travelplanmarketPrice); $k++) {
                    $fromDate = $travelplanmarketPrice[$k]['FromDate'];
                    $toDate = $travelplanmarketPrice[$k]['ToDate'];
                    $travelmarketpriceArray = array(
                        'TPIntSysId' => $tpproposalID,
                        'AgencySysId' => trim($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,
                        'TourType' => $travelplanmarketPrice[$k]['TourType'] ? $travelplanmarketPrice[$k]['TourType'] : 0,
                        'PackCategoryId' => $travelplanmarketPrice[$k]['PackCategoryId'] ? $travelplanmarketPrice[$k]['PackCategoryId'] : 0,
                        'CostExtraBed' => $travelplanmarketPrice[$k]['CostExtraBed'] ? $travelplanmarketPrice[$k]['CostExtraBed'] : 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,
                        "PricePerPerson" => $travelplanmarketPrice[$k]['PricePerPerson'] ? $travelplanmarketPrice[$k]['PricePerPerson'] : 0,
                        "TotalCost" => $travelplanmarketPrice[$k]['TotalCost'] ? $travelplanmarketPrice[$k]['TotalCost'] : 0,
                        "CostPerPerson" => $travelplanmarketPrice[$k]['CostPerPerson'] ? $travelplanmarketPrice[$k]['CostPerPerson'] : 0,
                        'CreateDate' => $createDate,
                        'UpdateDate' => $createDate,
                        'IsActive' => $travelplanmarketPrice[$k]['IsActive'] ? $travelplanmarketPrice[$k]['IsActive'] : 0,
                        'IsMarkForDel' => 0,
                        'MealPlanType' => !empty($travelplanmarketPrice[$k]['MealPlanType']) ? $travelplanmarketPrice[$k]['MealPlanType'] : 0, //  meal plan
                    );
                    try {
                        $travelitenramarketwsierate = $this->_crmcustomertravelMarketPlaces->addCustomerTravelMarketRate($travelmarketpriceArray);
                    } catch (Zend_Exception $e) {
                        $error_Message = $e->getMessage();
                    }
                }
            }
            $tpitenaryplaces = $this->GetTravelPlanItenaryPaces($tplanitenayvalues);
            if (count($tpitenaryplaces) > 0) {
                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,
                        'CreateDate' => $tpitenaryplaces[$k]['CreateDate'] ? $tpitenaryplaces[$k]['CreateDate'] : $createDate,
                        'UpdateDate' => $tpitenaryplaces[$k]['UpdateDate'] ? $tpitenaryplaces[$k]['UpdateDate'] : $createDate,
                    );
                    try {
                        $travelitenrayplaces = $this->_crmcustomertravelItenaryPlaces->addCustomerTravelItenaryPlaces($tpitenrayplacesArray);
                    } catch (Zend_Exception $e) {
                        $error_Message = $e->getMessage();
                    }
                }
            }
            $objPackage = new Travel_Model_TblPackage();
            $cancelPolicyData = $objPackage->getPackageCancelPolictyList($travelplanID);
            if (count($cancelPolicyData) > 0) {
                $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);
                }
            }
            try {
                $travelplanterms = $this->GetCustomerTravelPlanTerms($travelplanID);
                if (count($travelplanterms) > 0) {
                    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'] : '',
                            'WhyUseUs' => $travelplanterms[$k]['WhyUseUs'] ? $travelplanterms[$k]['WhyUseUs'] : '',
                            'REFUNDPOLICY' => $travelplanterms[$k]['REFUNDPOLICY'] ? $travelplanterms[$k]['REFUNDPOLICY'] : '',
                            'CreateDate' => $createDate,
                            'UpdateDate' => $createDate,
                            'IsMarkForDel' => $travelplanterms[$k]['IsMarkForDel'] ? $travelplanterms[$k]['IsMarkForDel'] : 0,
                            'IsActive' => $travelplanterms[$k]['IsActive'] ? $travelplanterms[$k]['IsActive'] : 0,
                        );
                        try {
                            $travelitenramarketwsierate = $this->_crmcustomertravelTerm->addCustomerTerm($travelplantermsArray);
                        } catch (Zend_Exception $e) {
                            $error_Message = $e->getMessage();
                        }
                    }
                }
            } catch (Zend_Exception $e) {
                $error_Message = $e->getMessage();
            }
            $travelplanTransFixed = $this->GetTravelPlanItenaryTransFixed($travelplanID);
            for ($j = 0; $j < count($travelplanTransFixed); $j++) {
                $existingtpintIDTF = $travelplanTransFixed[$j]['TPIntSysId'];
                $getkeyvalue = array_search($existingtpintIDTF, $travelpanitenary);
                $IsIncluded = $travelplanTransFixed[$j]['IsIncluded'] ? $travelplanTransFixed[$j]['IsIncluded'] : 0;
                if (isset($leadsourceTitle) && $leadsourceTitle == 'Website' && count($requestPerameter['ItineraryArray']['itineraries'][$existingtpintIDTF]['transfers']) > 0) {
                    foreach ($requestPerameter['ItineraryArray']['itineraries'][$existingtpintIDTF]['transfers'] as $key => $value) {
                        $dataTrans = $value;
                        for ($n = 0; $n < count($dataTrans); $n++) {
                            if ($travelplanTransFixed[$j]['FixTransSysId'] == $dataTrans[$n]['itemid'] && ($dataTrans[$n]['IsIncluded'] == 1)) {
                                $IsIncluded = 1;
                            }
                        }
                    }
                }
                $dataTrans = array(
                    'AgencySysId' => $AgencySysId,
                    'TPSysId' => $tpproposalID,
                    'TPIntSysId' => $lasttravelitenaryID[$getkeyvalue] ? $lasttravelitenaryID[$getkeyvalue] : 0,
                    'Type' => 'Included',
                    'IsIncluded' => $IsIncluded,
                    'VehSysId' => $travelplanTransFixed[$j]['VehSysId'] ? $travelplanTransFixed[$j]['VehSysId'] : 0,
                    'VehicleTypeSysId' => $travelplanTransFixed[$j]['VehicleTypeSysId'] ? $travelplanTransFixed[$j]['VehicleTypeSysId'] : 0,
                    'RouteSysId' => $travelplanTransFixed[$j]['RouteSysId'] ? $travelplanTransFixed[$j]['RouteSysId'] : 0,
                    'RouteVechSysId' => $travelplanTransFixed[$j]['RouteVechSysId'] ? $travelplanTransFixed[$j]['RouteVechSysId'] : 0,
                    'TransType' => $travelplanTransFixed[$j]['TransType'] ? $travelplanTransFixed[$j]['TransType'] : '',
                    'TransTypeCat' => $travelplanTransFixed[$j]['TransTypeCat'] ? $travelplanTransFixed[$j]['TransTypeCat'] : '',
                    'FromPlace' => $travelplanTransFixed[$j]['FromPlace'] ? $travelplanTransFixed[$j]['FromPlace'] : '',
                    'ToPlace' => $travelplanTransFixed[$j]['ToPlace'] ? $travelplanTransFixed[$j]['ToPlace'] : '',
                    'SourceCityId' => $travelplanTransFixed[$j]['SourceCityId'] ? $travelplanTransFixed[$j]['SourceCityId'] : 0,
                    'DestCityId' => $travelplanTransFixed[$j]['DestCityId'] ? $travelplanTransFixed[$j]['DestCityId'] : 0,
                    'CostPerson' => $travelplanTransFixed[$j]['CostPerson'] ? $travelplanTransFixed[$j]['CostPerson'] : 0,
                    'TotalPrice' => $travelplanTransFixed[$j]['TotalPrice'] ? $travelplanTransFixed[$j]['TotalPrice'] : 0,
                    'Capacity' => $travelplanTransFixed[$j]['Capacity'] ? $travelplanTransFixed[$j]['Capacity'] : 0,
                    'IsGroup' => $travelplanTransFixed[$j]['IsGroup'] ? $travelplanTransFixed[$j]['IsGroup'] : 0,
                    'CreateDate' => $createDate,
                    'IsMarkForDel' => '0',
                    'IsActive' => '1',
                    'Sequence' => $travelplanTransFixed[$j]['Sequence'] ? $travelplanTransFixed[$j]['Sequence'] : 0,
                );
                try {
                    $updateId = $this->_crmcustomertravelFixed->addCustomerFixedItinerary($dataTrans);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            $travelplanOtherServices = $this->GetTravelPlanOtherServices($travelplanID);
            for ($j = 0; $j < count($travelplanOtherServices); $j++) {
                $IsOptionalServices = $travelplanOtherServices[$j]['IsOptionalServices'] ? $travelplanOtherServices[$j]['IsOptionalServices'] : 0;
                if (isset($leadsourceTitle) && $leadsourceTitle == 'Website' && count($requestPerameter['ItineraryArray']['others']['services']) > 0) {
                    foreach ($requestPerameter['ItineraryArray']['others']['services'] as $key => $value) {

                        if ($travelplanOtherServices[$j]['OtherSrvSysId'] == $value['itemid'] && $value['IsIncluded'] == 1) {
                            $IsOptionalServices = 1;
                        }
                    }
                }
                $dataOtherServices = array(
                    'TPIntSysId' => $tpproposalID,
                    'OtherSrvSysId' => $travelplanOtherServices[$j]['OtherSrvSysId'] ? $travelplanOtherServices[$j]['OtherSrvSysId'] : 0,
                    'SupplierSysId' => $travelplanOtherServices[$j]['SupplierSysId'] ? $travelplanOtherServices[$j]['SupplierSysId'] : 0,
                    'ServiceTitle' => $travelplanOtherServices[$j]['ServiceTitle'] ? $travelplanOtherServices[$j]['ServiceTitle'] : '',
                    'ServiceType' => $travelplanOtherServices[$j]['ServiceType'] ? $travelplanOtherServices[$j]['ServiceType'] : '',
                    'Comment' => $travelplanOtherServices[$j]['Comment'] ? $travelplanOtherServices[$j]['Comment'] : '',
                    'CurrencyType' => $travelplanOtherServices[$j]['CurrencyType'] ? $travelplanOtherServices[$j]['CurrencyType'] : 0,
                    'RateType' => $travelplanOtherServices[$j]['RateType'] ? $travelplanOtherServices[$j]['RateType'] : 0,
                    'PaxCount' => $travelplanOtherServices[$j]['PaxCount'] ? $travelplanOtherServices[$j]['PaxCount'] : 0,
                    'Cost' => $travelplanOtherServices[$j]['Cost'] ? $travelplanOtherServices[$j]['Cost'] : 0,
                    'IsOptionalServices' => $IsOptionalServices,
                    'IsCostInclInTP' => $travelplanOtherServices[$j]['IsCostInclInTP'] ? $travelplanOtherServices[$j]['IsCostInclInTP'] : 0,
                    'IsActive' => 1,
                    'IsMarkForDelete' => 0,
                    'IsApproved' => 1,
                    'CreateDate' => $createDate,
                    'UpdateDate' => $createDate
                );
                try {
                    $updateId = $this->_crmcustomerTravelOtherServicesObj->addCustomerTravelOtherServices($dataOtherServices);
                } catch (Zend_Exception $e) {
                    $error_Message = $e->getMessage();
                }
            }
            $this->_dbObj->commit();
            try {
                Zend_Controller_Action_HelperBroker::getStaticHelper('DynamicPackageSeasonCost')->GetDynamicPackagePrice($requestPerameter['roomjson'], $tpproposalID, $catID, $tourID, $MealTypeId, $main_trip_start_date, 'Customer', 'UpdateTable', 'AddRequest', $MarketPlaceId);
                return array('TPSysId' => $tpproposalID, 'CurrencyType' => $travelplanmarketPrice[0]['CurrencyType']);
            } catch (Zend_Exception $e) {
                $error_Message = $e->getMessage();
            }
        } catch (Exception $e) {
            $this->_dbObj->rollBack();
            throw new Exception($e->getMessage());
        }
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit