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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/application/models//Tbltbbcuser.php
<?php

/*
 * Catabatic Technology Pvt. Ltd.
 * File Name :Tbltbb2Cuser.php
 * File Description :
 * Created By : Harpreet
 * Created Date: 26-July-2016
 */

class Travel_Model_Tbltbbcuser
{

    private $db = NULL;
    protected $_dbObj;
    protected $_crmcustObj;
    protected $_crmcustMemberObj;
    protected $intLoggedinUserAgencySysId;
    protected $intLoggedinUserId;
    protected $_crmcusttravelplan;





    public function __construct()
    {
       // $request = Zend_Controller_Front::getInstance()->getRequest();
      //  $this->baseUrl = $request->getScheme() . '://' . $request->getHttpHost();
        $this->db = Zend_Db_Table::getDefaultAdapter();
        $this->_crmcustObj = new Travel_Model_TblCrmCustomer();
        $this->_crmcustMemberObj = new Travel_Model_TblAgencyCustomerMember();
        $this->_dbObj = Zend_Db_Table::getDefaultAdapter();

        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $this->intLoggedinUserAgencySysId = $sessionLogin_user->intLoggedinUserAgencySysId;
        $this->intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        $this->_crmcusttravelplan = new Travel_Model_CRM_CustomerTravelPlan();
    }

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

    public function getGuestDetails($mobilno)
    {
        $sqlEmail = "SELECT * FROM TB_Agency_Customer WHERE Contacts='" . $mobilno . "' ";
        $rowset = $this->db->query($sqlEmail)->fetchAll();
        return $rowset;
    }

    public function updateGuestDetail($data)
    {
        $updatArray = array(
            "Title" => trim($data['initial']),
            "FirstName" => trim($data['firstName']),
            "LastName" => trim($data['lastName']),
            "EmailId" => trim($data['emailId'])
        );
        $where = "CustomerSysId=" . trim($data['customerId']);
        $this->db->update('TB_Agency_Customer', $updatArray, $where);
        return $data['customerId'];
    }
    public function travelPlanPax()
    {
        $arraypax = array(
            'TPSysId' => $TPSysId, 'VersionId' => '', 'CustomerSysId' => '',
            'MemberSysId' => '', 'UpdateDate' => $now, 'IsApproved' => '1',
            'IsActive' => '1', 'IsMarkForDelete' => '0'
        );
        $this->db->insert('TB_Agency_Customer_TravelPlan_Pax', $arrCustMem);
        $lastIDCustMem = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Pax');
    }
    public function getAccomId($hotelCode)
    {
        $sqlHtlID = "SELECT AccomSysId FROM TB_IC_Accomdation_API WHERE ShortName='" . $hotelCode . "'";
        $AccomSysId = $this->db->query($sqlHtlID)->fetchAll();
        foreach ($AccomSysId as $val) {
            $htlID = $val['AccomSysId'];
        }
        return $htlID;
    }
    public function addGuest($guestData = array())
    {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $sessionHotelSearchParams = new Zend_Session_Namespace('sessionHotelDirectSearchData');
        $strCheckInDate = $sessionHotelSearchParams->params['hotelFromDateSession'];
        $arrCheckInDate = explode("/", $strCheckInDate);
        $strCheckOutDate = $sessionHotelSearchParams->params['hotelToDateSession'];
        $arrCheckOutDate = explode("/", $strCheckOutDate); //dmY
        $now = date("Y-m-d H:i:s");
        $chkout = $arrCheckOutDate[2] . "-" . $arrCheckOutDate[1] . "-" . $arrCheckOutDate[0] . " " . date('H:i:s');
        $chkIN = $arrCheckInDate[2] . "-" . $arrCheckInDate[1] . "-" . $arrCheckInDate[0] . " " . date('H:i:s');
        if (!empty($guestData)) {

            $sqlMAX = "SELECT TOP 1 CustomerSysId FROM TB_Agency_Customer order by CustomerSysId Desc";
            $maxId = $this->db->query($sqlMAX)->fetchAll();
            foreach ($maxId as $masIDS) {
                $maxUserID = $masIDS['CustomerSysId'];
                $maxUserID++;
            }

            $sql = "SELECT EmailId,Contacts FROM TB_Agency_Customer";
            $rowset = $this->db->query($sql)->fetchAll();
            $emailMess = '';
            foreach ($rowset as $val) {
                if ($val['EmailId'] == $guestData['emailId']) {
                    $sqlEmail = "SELECT * FROM TB_Agency_Customer WHERE EmailId='" . $guestData['emailId'] . "' ";
                    $rowset = $this->db->query($sqlEmail)->fetchAll();
                    $emailMess = $guestData['emailId'] . ' Allready Exist';
                    $_SESSION['USER_DETAILS_HTL'] = $rowset;
                } else if ($val['Contacts'] == $guestData['mobilNo']) {
                    $emailMess = $guestData['mobilNo'] . ' Allready Exist';
                    $sqlMobil = "SELECT * FROM TB_Agency_Customer WHERE Contacts='" . $guestData['mobilNo'] . "' ";
                    $rowset = $this->db->query($sqlMobil)->fetchAll();
                    $_SESSION['USER_DETAILS_HTL'] = $rowset;
                }
            }
            //echo $maxId;
            if ($emailMess != '') {
                //*************insert Data   TB_Agency_Customer_Members ********/   
                $meID = '1';
                $MemberSql = "select  top 1 MemberSysId from TB_Agency_Customer_Members 
where CustomerSysId='" . $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'] . "' order by MemberSysId DESC";
                $rowsetMem = $this->db->query($MemberSql)->fetchAll();
                foreach ($rowsetMem as $memId) {
                    $meID = $memId['MemberSysId'];
                    $meID++;
                }

                $arrCustMem = array(
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                    'EmailId' => trim($guestData['emailId']),
                    'Title' => trim($guestData['initial']), 'Logo' => ' ',
                    'IsfromSM' => '0', 'SMTypeId' => '0', 'SMId' => '0',
                    'UserId' => '0', 'IsEmployee' => '0',
                    'Contacts' => trim($guestData['mobilNo']),
                    'JoinDate' => trim($chkIN), 'ExitDate' => trim($chkout),
                    'UserName' => ' ', 'FirstName' => trim($guestData['firstName']),
                    'LastName' => trim($guestData['lastName']), 'Designation' => ' ',
                    'Password' => ' ', 'RandStr' => ' ',
                    'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => '0',
                    'OtherEmail' => ' ', 'SecondaryEmail' => ' ',
                    'LastLoginTime' => EMPTY_DATE, 'IsLogInNow' => '0',
                    'CreatedByUserSysId' => $sessionLogin_user->intLoggedinUserId,
                    'RandomCode' => ' ', 'Gender' => '0',
                    'UserNickName' => ' ', 'UserPicPath' => '',
                    'ContactNo1' => '0', 'ContactNo2' => '0',
                    'HomePhone' => '0', 'SecondaryPhone' => '0',
                    'UserDetails' => ' ', 'Address' => ' ', 'CitySysId' => '0',
                    'StateOrZoneSysId' => '0', 'CountrySysId' => '0',
                    'PinCode' => '0', 'SecondaryAddress' => ' ',
                    'Fax' => '0', 'MacIp' => '0', 'SpeakingLangSysId' => '0',
                    'Signature' => ' ', 'UpdateDate' => EMPTY_DATE,
                    'RegisterDate' => EMPTY_DATE,
                    'IsApproved' => '0', 'IsActive' => '0', 'IsMarkForDelete' => '0'
                );
                //echo 'TB_Agency_Customer_Members';print_r($arrCustMem);
                try {


                    $this->db->insert('TB_Agency_Customer_Members', $arrCustMem);
                    $lastIDCustMem = $this->db->lastInsertId('TB_Agency_Customer_Members');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }

                //*************insert Data   TB_Agency_Customer_TravelPlan ********/ 

                if (!empty($guestData['TPSysId'])) {
                    $plancode = 'QS/' . date('y');
                    $arrTravelPln = array(
                        'PlanBookingId' => $plancode,
                        'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                        'AgentSysId' => $sessionLogin_user->intLoggedinUserId,
                        'MasterTPSysId' => trim($guestData['TPSysId']),
                        'StatusType' => '4',
                        'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                        'PlanType' => '2',
                        'StartDate' => $now, 'ValidTill' => EMPTY_DATE,
                        'CreateDate' => $now, 'UpdateDate' => $now, 'ApproveDate' => $now,
                        'IsMarkForDel' => '0', 'IsActive' => '1', 'IsAprooved' => '0'
                    );
                } else {
                    $plancode = 'Q/' . date('y');
                    $arrTravelPln = array(
                        'PlanBookingId' => $plancode,
                        'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                        'AgentSysId' => $sessionLogin_user->intLoggedinUserId,
                        'MasterTPSysId' => trim($guestData['TPSysId']),
                        'StatusType' => '1',
                        'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                        'PlanType' => '2',
                        'StartDate' => $now, 'ValidTill' => EMPTY_DATE,
                        'CreateDate' => $now, 'UpdateDate' => $now, 'ApproveDate' => $now,
                        'IsMarkForDel' => '0', 'IsActive' => '1', 'IsAprooved' => '0'
                    );
                }
                //echo 'TB_Agency_Customer_TravelPlan';print_r($arrTravelPln);
                try {

                    $this->_crmcusttravelplan->addCustomerTravelPlanQuery($arrTravelPln);
                    $lastIDTvlPln = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Query');


                    if (empty($guestData['TPSysId'])) {
                        $arrTravelPln = array();
                        $plancode = 'QS/' . date('y');
                        $arrTravelPln = array(
                            'PlanBookingId' => $plancode,
                            'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                            'AgentSysId' => $sessionLogin_user->intLoggedinUserId,
                            'MasterTPSysId' => trim($lastIDTvlPln),
                            'VersionId' => '1',
                            'StatusType' => '4',
                            'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                            'PlanType' => '2',
                            'StartDate' => $now, 'ValidTill' => EMPTY_DATE,
                            'CreateDate' => $now, 'UpdateDate' => $now, 'ApproveDate' => $now,
                            'IsMarkForDel' => '0', 'IsActive' => '1', 'IsAprooved' => '0'
                        );

                        $this->_crmcusttravelplan->addCustomerTravelPlan($arrTravelPln);
                    }
                    $_SESSION['TPSysId'] = $lastIDTvlPln;
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }
                //*******************TB_Agency_Customer_TravelPlan_Pax  Start*******************//

                $arraypax = array(
                    'TPSysId' => $lastIDTvlPln,
                    'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                    'MemberSysId' => $lastIDCustMem,
                    'UpdateDate' => $now,

                    'IsApproved' => '1',
                    'IsActive' => '1',
                    'IsMarkForDelete' => '0'
                );
                // echo 'TB_Agency_Customer_TravelPlan_Pax<pre>';print_r($arraypax); 
                try {
                    $this->db->insert('TB_Agency_Customer_TravelPlan_Pax', $arraypax);
                    $lastIDPlan_Pax = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Pax');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }

                //*******************TB_Agency_Customer_TravelPlan_Pax*******************//


                //*************insert Data   TB_Agency_Customer_TravelPlan_Itenary ********/ 

                $arrTvlItnry = array(
                    'TPSysId' => $lastIDTvlPln,
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    //'PlanType' => '2',
                    'StartDate' => $now,
                    'EndDate' => EMPTY_DATE,
                    'CreateDate' => $now,
                    'UpdateDate' => $now
                );

                try {

                    $this->db->insert('TB_Agency_Customer_TravelPlan_Itenary', $arrTvlItnry);
                    $lastIDTvlITnry = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Itenary');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }
                //*************************TB_Agency_Customer_TravelPlan_Accom*********************//
                if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                    $romType = $_SESSION['BOOK_ROM_INVENTORY'][0]['Title'];
                }
                if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                    $romType = $_SESSION['blkRoom']['BlockRoomResult']['HotelRoomsDetails'][0]['RoomTypeName'];
                }
                try {

                    $booking = 'HTL-' . Zend_Controller_Action_HelperBroker::getStaticHelper('General')->generateRandomString(5);
                    $memCnt = count($_SESSION['sessionHotelDirectSearchData']['params']['memberDetails']);
                    $memArr = $_SESSION['sessionHotelDirectSearchData']['params']['memberDetails'];
                    $j = 0;
                    $K = 1;

                    for ($i = 0; $i < $memCnt; $i++) {
                        $sqlMAX = "SELECT TOP 1 SeqId FROM TB_Agency_Customer_TravelPlan_Accom order by SeqId Desc";
                        $maxId = $this->db->query($sqlMAX)->fetchAll();
                        foreach ($maxId as $masIDS) {
                            $maxUserID = $masIDS['SeqId'];
                            $maxUserID++;
                        }
                        //                        echo "<pre>";
                        //                        print_r($_SESSION);
                        $insertTravelPlan_Accom = array(
                            "TPIntSysId" => $lastIDTvlITnry, "SeqId" => $K,
                            "AccoBookingId" => $booking,
                            "XRefBookingId" => ' ',
                            "AgencySysId" => $sessionLogin_user->intLoggedinUserAgencySysId,
                            "AccoSysId" => $_SESSION['SELECTED_HTL_ID'],
                            'RoomType' => '0',
                            'RoomNumber' => @$_SESSION['noOfRooms'],
                            "Title" => '', //@$_SESSION['SEARCH']['Hotel_name_city'],
                            "SpecialRequest" => $guestData['special_req'],
                            'CheckInTime' => $chkIN,
                            'CheckOutTime' => $chkout,
                            'XRefCityId' => $_SESSION['SEARCH']['hidden_selected_hotel_id'],
                            "FromDate" => $chkIN,
                            "ToDate" => $chkout,
                            "AdultPax" => $memArr[$j]['AdultPax'],
                            "ChildPax" => $memArr[$j]['ChildPax'],
                            "InfantPax" => '0',
                            "PetPax" => '0',
                            'ChildsAge' => $memArr[$j]['ChildsAge'],
                            "TotalPax" => $memCnt,
                            "StarRating" => '0',
                            "CurrencyType" => '0',
                            "TotalCost" => '0',
                            "Discounts" => '0',
                            "Taxes" => '0',
                            "NetCost" => '0',
                            "CreateDate" => $now,
                            "UpdateDate" => $now,
                            "IsMarkForDel" => '0',
                            "IsActive" => 1
                        );

                        $this->db->insert('TB_Agency_Customer_TravelPlan_Accom', $insertTravelPlan_Accom);
                        $j++;
                        $K++;
                    }
                    $lastPlanID = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Accom');
                    $_SESSION['SeqId'] = $maxUserID;

                    // print_r($_SESSION['SeqId']);exit; 
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }
                return 1;
            } else {


                //Zend_Session::rememberMe(60 * 60 * 24 * 7);
                //*************insert Data   TB_CRM_CustomerAccount ********/
                $arAdCustomerCRM = array(
                    'EmailId' => $guestData['emailId'],
                    'Salutation' => $guestData['initial'],
                    'PrimaryContactNumber' => $guestData['mobilNo'],
                    'FullName' => $guestData['firstName'] . ' ' . $guestData['lastName'],
                    'FirstName' => $guestData['firstName'],
                    'LastName' => $guestData['lastName'],

                    'ActiveDate' => EMPTY_DATE,
                    'IsApproved' => '1',
                    'IsActive' => '1',
                    'IsMarkForDelete' => '0'
                );

                try {
                    $this->db->insert('TB_CRM_CustomerAccount', $arAdCustomerCRM);
                    $lastIDCRM = $this->db->lastInsertId('TB_CRM_CustomerAccount');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }


                //*************insert Data   TB_Agency_Customer ********/   
                $now = date("Y-m-d H:i:s");

                $arrCustomer = array(
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    'CRMCustSysId' => $lastIDCRM,
                    'EmailId' => $guestData['emailId'],
                    'Title' => $guestData['initial'],
                    'Logo' => '', 'IsfromSM' => '0',
                    'SMTypeId' => '0', 'SMId' => '',
                    'UserId' => '0', 'IsEmployee' => '0',
                    'Contacts' => $guestData['mobilNo'], 'ExitDate' => EMPTY_DATE,
                    'UserName' => '', 'FirstName' => $guestData['firstName'],
                    'LastName' => $guestData['lastName'],
                    'Designation' => '', 'Password' => '',
                    'RandStr' => '', 'PasswordExpiryDate' => EMPTY_DATE, 'IsPswExpire' => 0,
                    'OtherEmail' => '', 'SecondaryEmail' => '', 'LastLoginTime' => EMPTY_DATE,
                    'IsLogInNow' => 0, 'CreatedByUserSysId' => $sessionLogin_user->intLoggedinUserId,
                    'RandomCode' => '', 'Gender' => '', 'UserNickName' => '',
                    'UserPicPath' => '', 'ContactNo1' => '', 'ContactNo2' => '',
                    'HomePhone' => '', 'SecondaryPhone' => '', 'UserDetails' => '',
                    'Address' => '', 'CitySysId' => 0, 'StateOrZoneSysId' => 0,
                    'CountrySysId' => 0, 'PinCode' => '', 'SecondaryAddress' => '', 'Fax' => '',
                    'MacIp' => '', 'SpeakingLangSysId' => 0, 'Signature' => '',
                    'UpdateDate' => EMPTY_DATE, 'RegisterDate' => EMPTY_DATE,
                    'SpecialRequest' => $guestData['special_req'],
                    'IsApproved' => 0, 'IsActive' => 0, 'IsMarkForDelete' => '0'
                );

                try {
                    $this->db->insert('TB_Agency_Customer', $arrCustomer);
                    $lastUserIDCustomAgency = $this->db->lastInsertId('TB_Agency_Customer');
                    $sqlLastInsert = "SELECT * FROM TB_Agency_Customer WHERE CustomerSysId='" . $lastUserIDCustomAgency . "'";
                    $rowset = $this->db->query($sqlLastInsert)->fetchAll();
                    $_SESSION['USER_DETAILS_HTL'] = $rowset;
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }
                //*************insert Data   TB_Agency_Customer_Members ********/   

                $arrCustMem = array(
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    'CustomerSysId' => $lastUserIDCustomAgency,
                    'EmailId' => $guestData['emailId'],
                    'Title' => $guestData['initial'], 'Logo' => ' ', 'IsfromSM' => '0',
                    'SMTypeId' => '0', 'SMId' => ' ', 'UserId' => '0', 'IsEmployee' => '0',
                    'Contacts' => $guestData['mobilNo'], 'JoinDate' => $chkIN,
                    'ExitDate' => $chkout, 'UserName' => ' ',
                    'FirstName' => $guestData['firstName'],
                    'LastName' => $guestData['lastName'],
                    'Designation' => ' ', 'Password' => ' ', 'RandStr' => ' ',
                    'PasswordExpiryDate' => EMPTY_DATE,
                    'IsPswExpire' => '0', 'OtherEmail' => ' ',
                    'SecondaryEmail' => ' ', 'LastLoginTime' => EMPTY_DATE,
                    'IsLogInNow' => '0', 'CreatedByUserSysId' => $sessionLogin_user->intLoggedinUserId,
                    'RandomCode' => ' ', 'Gender' => '0',
                    'UserNickName' => ' ', 'UserPicPath' => ' ',
                    'ContactNo1' => ' ', 'ContactNo2' => ' ', 'HomePhone' => ' ',
                    'SecondaryPhone' => ' ', 'UserDetails' => ' ', 'Address' => ' ',
                    'CitySysId' => '0', 'StateOrZoneSysId' => '0', 'CountrySysId' => '0',
                    'PinCode' => ' ', 'SecondaryAddress' => ' ', 'Fax' => ' ',
                    'MacIp' => ' ', 'SpeakingLangSysId' => '0',
                    'Signature' => ' ', 'UpdateDate' => EMPTY_DATE,
                    'RegisterDate' => EMPTY_DATE, 'IsApproved' => '0',
                    'IsActive' => '0', 'IsMarkForDelete' => '0'
                );
                try {

                    $this->db->insert('TB_Agency_Customer_Members', $arrCustMem);
                    $lastIDCustMem = $this->db->lastInsertId('TB_Agency_Customer_Members');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }


                //*************insert Data   TB_Agency_Customer_TravelPlan ********/ 
                $now = date("Y-m-d H:i:s");
                $plancode = 'Q/' . date('y');
                $arrTravelPln = array(
                    'PlanBookingId' => $plancode,
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    'StatusType' => '0',
                    'CustomerSysId' => $lastUserIDCustomAgency,
                    //'PlanType' => '2',
                    'StartDate' => $now, 'ValidTill' => EMPTY_DATE,
                    'CreateDate' => $now, 'UpdateDate' => $now, 'ApproveDate' => $now,
                    'IsMarkForDel' => '0', 'IsActive' => '1', 'IsAprooved' => '0'
                );
                try {

                    $this->db->insert('TB_Agency_Customer_TravelPlan', $arrTravelPln);
                    $lastIDTvlPln = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan');
                    $_SESSION['TPSysId'] = $lastIDTvlPln;
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }

                //*******************TB_Agency_Customer_TravelPlan_Pax  Start*******************//

                $arraypax = array(
                    'TPSysId' => $lastIDTvlPln,
                    'CustomerSysId' => $_SESSION['USER_DETAILS_HTL'][0]['CustomerSysId'],
                    'MemberSysId' => $lastIDCustMem,
                    'UpdateDate' => $now,
                    'IsApproved' => '1',
                    'IsActive' => '1',
                    'IsMarkForDelete' => '0'
                );
                // echo 'TB_Agency_Customer_TravelPlan_Pax<pre>';print_r($arraypax); 
                try {
                    $this->db->insert('TB_Agency_Customer_TravelPlan_Pax', $arraypax);
                    $lastIDPlan_Pax = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Pax');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }

                //*******************TB_Agency_Customer_TravelPlan_Pax*******************//


                //*************insert Data   TB_Agency_Customer_TravelPlan_Itenary ********/ 

                $arrTvlItnry = array(
                    'TPSysId' => $lastIDTvlPln,
                    'AgencySysId' => $sessionLogin_user->intLoggedinUserAgencySysId,
                    //'PlanType' => '2',
                    'StartDate' => $now,
                    'EndDate' => EMPTY_DATE, 'CreateDate' => $now,
                    'UpdateDate' => $now
                );
                try {

                    $this->db->insert('TB_Agency_Customer_TravelPlan_Itenary', $arrTvlItnry);
                    $lastIDTvlITnry = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Itenary');
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }


                //****************************TB_Agency_Customer_TravelPlan_Accom*****************//////
                if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                    $romType = $_SESSION['BOOK_ROM_INVENTORY'][0]['Title'];
                }
                if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                    $romType = $_SESSION['blkRoom']['BlockRoomResult']['HotelRoomsDetails'][0]['RoomTypeName'];
                }
                try {
                    $booking = 'HTL-' . Zend_Controller_Action_HelperBroker::getStaticHelper('General')->generateRandomString(5);
                    $memCnt = count($_SESSION['sessionHotelDirectSearchData']['params']['memberDetails']);
                    $memArr = $_SESSION['sessionHotelDirectSearchData']['params']['memberDetails'];
                    $j = 0;
                    $K = 1;

                    for ($i = 0; $i < $memCnt; $i++) {

                        $insertTravelPlan_Accom = array(
                            "TPIntSysId" => $lastIDTvlITnry,
                            "SeqId" => $K,
                            "AccoBookingId" => ' ', "XRefBookingId" => '0',
                            "AgencySysId" => $sessionLogin_user->intLoggedinUserAgencySysId,
                            "AccoSysId" => @$_SESSION['SELECTED_HTL_ID'],
                            'RoomType' => '0',
                            'RoomNumber' => '1',
                            "Title" => '', //$_SESSION['SEARCH']['Hotel_name_city'],
                            "SpecialRequest" => $guestData['special_req'],
                            'CheckInTime' => $chkIN, 'CheckOutTime' => $chkout,
                            'XRefCityId' => $_SESSION['SEARCH']['hidden_selected_hotel_id'],
                            "FromDate" => $chkIN, "ToDate" => $chkout,
                            "AdultPax" => $memArr[$j]['AdultPax'],
                            "ChildPax" => $memArr[$j]['ChildPax'], "InfantPax" => '0',
                            "PetPax" => '0', 'ChildsAge' => $memArr[$j]['ChildsAge'],
                            "TotalPax" => $memCnt, "StarRating" => '0', "CurrencyType" => '0',
                            "TotalCost" => '0', "Discounts" => '0',
                            "Taxes" => '0', "NetCost" => '0',
                            "CreateDate" => $now, "UpdateDate" => $now,
                            "IsMarkForDel" => '0', "IsActive" => 1
                        );
                        $this->db->insert('TB_Agency_Customer_TravelPlan_Accom', $insertTravelPlan_Accom);

                        $j++;
                        $K++;
                    }
                    $lastPlanID = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Accom');
                    $_SESSION['SeqId'] = $maxUserID;
                } catch (Exception $e) {
                    die('There has been an error. ' . $e->getMessage());
                }
                return 1;
            }
        }
    }

    /* public function getDataForBookingHotelList() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $sql = "SELECT DISTINCT AC.FirstName,AC.LastName,AC.EmailId,AC.Contacts,A.Title AS HOTELNAME,ACTP.TPSysId,
        ACX.XRefTrxNo,AG.Title,AG.PrimaryContactName,
        ACX.TrxDate,ACX.TrxType,ACX.TrxSysId,ACX.PaidAmount,ACTI.TPSysId,ACTA.AccoSysId,A.Title,
        ACTA.CheckInTime,ACTA.XRefCityId,ACTA.XRefCityId,
        GC.Title AS CITYNAME,ACTI.TPIntSysId, AC.CustomerSysId,ACTA.XRefCityId  FROM 
        TB_IC_Accomdation_old A 
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan_Accom ACTA ON A.AccomSysId=ACTA.AccoSysId 
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan ACTP ON A.AccomSysId=ACTA.AccoSysId 
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan_Itenary ACTI ON ACTI.TPSysId=ACTP.TPSysId 
        LEFT OUTER JOIN TB_Agency_Customer_Trx ACX ON ACTP.TPSysId= ACX.TPSysId
        LEFT OUTER JOIN TB_Agency_Customer AC ON AC.CustomerSysId=ACX.CustomerSysId
        LEFT OUTER JOIN TB_Agency AG ON AG.AgencySysId=AC.AgencySysId 
        LEFT OUTER JOIN TB_Master_Geo_City GC ON GC.TBBCityId=ACTA.XRefCityId
        WHERE AG.AgencySysId='".$sessionLogin_user->intLoggedinUserAgencySysId."' AND ACX.TrxType='H' AND
        ACTI.TPSysId=ACX.TPSysId AND ACTI.TPIntSysId=ACTA.TPIntSysId
        GROUP BY    AC.FirstName,AC.LastName,AC.EmailId,AC.Contacts,A.Title ,ACTP.TPSysId,
        ACX.XRefTrxNo,AG.Title,AG.PrimaryContactName,
        ACX.TrxDate,ACX.TrxType,ACX.PaidAmount,ACTI.TPSysId,ACTA.AccoSysId,A.Title,ACX.TrxSysId,
        ACTA.CheckInTime,ACTA.XRefCityId,GC.Title,ACTI.TPIntSysId, AC.CustomerSysId,ACTA.XRefCityId ORDER BY ACTI.TPSysId DESC";
  
        $res = $this->db->query($sql)->fetchAll();
        return $res;
    }
    public function getGuestDetailVocherBookingHotelList($custID,$TPSysId,$TPIntSysId) {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
       $sql = "SELECT A.Title as HOTELNAME,A.Stars, A.Address AS HOTELADD,A.PrimaryContact AS HOTELCONT, ACTI.TPIntSysId,AC.FirstName,AC.LastName,AC.EmailId,
          AC.Contacts,ACTP.TPSysId,ACX.XRefTrxNo,AG.Title,AG.PrimaryContactName,ACX.TrxDate,ACX.TrxType,ACX.PaidAmount,ACTI.TPSysId,
        ACTA.AccoSysId,ACTA.FromDate AS CheckInTime,ACTA.ToDate AS CheckOutTime,ACTA.XRefCityId,
        GC.Title AS CITYNAME,ACTA.RoomType,ACX.XRefTrxNo,ACX.TrxSysId,ACTA.RoomNumber,ACTA.TotalPax,ACTA.TotalNights,ACTA.AccoBookingId,ACTA.TotalCost,ACTA.Discounts,
        ACTA.Taxes,ACTA.AdultPax,ACTA.ChildPax,ACTA.TotalNights,ACTA.SpecialRequest,ACX.APIBookingRes,ACTA.XRefBookingId 
        FROM TB_Agency_Customer_TravelPlan_Accom ACTA 
        LEFT OUTER JOIN TB_IC_Accomdation_old A ON A.AccomSysId=ACTA.AccoSysId  
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan_Itenary ACTI ON ACTI.TPIntSysId=ACTA.TPIntSysId
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan ACTP ON ACTI.TPSysId=ACTP.TPSysId  
        LEFT OUTER JOIN TB_Agency_Customer_Trx ACX ON ACTP.TPSysId= ACX.TPSysId
        LEFT OUTER JOIN TB_Agency_Customer AC ON AC.CustomerSysId=ACX.CustomerSysId
        LEFT OUTER JOIN TB_Agency AG ON AG.AgencySysId=AC.AgencySysId 
        LEFT OUTER JOIN TB_Master_Geo_City GC ON GC.TBBCityId=ACTA.XRefCityId
        WHERE AG.AgencySysId='".$sessionLogin_user->intLoggedinUserAgencySysId."' AND 
        GC.TBBCityId=ACTA.XRefCityId AND ACX.TrxType='H' AND  ACX.CustomerSysId='".$custID."'  AND ACTP.TPSysId='".$TPSysId."' ";
        $res = $this->db->query($sql)->fetchAll();
        $_SESSION['voucer_view'] = $res;
       
       return $res;
    }*/

    public function agencydetail()
    {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $sql =  "SELECT ABD.BankName,ABD.AccountName,ABD.AccountNo,ABD.Branch,ABD.IFSCCode,
              A.Title,A.Url,A.Logo,A.ServiceTaxNo,A.PanCardNo,A.PrimaryEmail,
              A.PrimaryContactName,A.ContactInfo,A.Address,A.CreateDate,AD.CitySysId,AD.Pincode,
              AD.Address AS ADDRESSTB,AD.CountrySysId, C.Title as CITYNAME , CI.Title as BANKCITY,CU.Title AS COUNTRY
              FROM TB_Agency_BankDetails ABD LEFT OUTER JOIN TB_Agency  A ON A.AgencySysId=ABD.AgencySysId
              LEFT OUTER JOIN TB_Agency_Addresses AD ON AD.AgencySysId=ABD.AgencySysId
              LEFT OUTER JOIN TB_Master_Geo_City C ON C.CityId=AD.CitySysId 
              LEFT OUTER JOIN TB_Master_Geo_City CI ON CI.CityId=ABD.CitySysId
              LEFT OUTER JOIN TB_Master_Geo_Country CU ON CU.ContId=ABD.CountrySysId
              WHERE A.AgencySysId='" . $sessionLogin_user->intLoggedinUserAgencySysId . "'
              GROUP BY 
              ABD.BankName,ABD.AccountName,ABD.AccountNo,ABD.IFSCCode,
              A.Title,A.Logo,A.ServiceTaxNo,A.PanCardNo,A.PrimaryEmail,
              A.PrimaryContactName,A.ContactInfo,A.Address,A.CreateDate,AD.CitySysId,
              AD.Pincode,AD.Address,A.Url,AD.CountrySysId,C.Title,ABD.Branch,CI.Title,CU.Title";
        $res = $this->db->query($sql)->fetchAll();
        return $res;
    }
    /* public function getGuestDetailVocherBookingPublicHotelList($custID,$TPSysId,$TPIntSysId) {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
       $sql = "SELECT TOP 1 A.Title as HOTELNAME,A.Stars, A.Address AS HOTELADD,A.PrimaryContact AS HOTELCONT, ACTI.TPIntSysId,AC.FirstName,AC.LastName,AC.EmailId,
          AC.PrimaryContactNumber,ACTP.TPSysId,ACX.XRefTrxNo,AG.Title,AG.PrimaryContactName,ACX.TrxDate,ACX.TrxType,ACX.PaidAmount,ACTI.TPSysId,
        ACTA.AccoSysId,ACTA.FromDate AS CheckInTime,ACTA.ToDate AS CheckOutTime,ACTA.XRefCityId,
        GC.Title AS CITYNAME,ACTA.RoomType,ACX.XRefTrxNo,ACX.TrxSysId,ACTA.RoomNumber,ACTA.TotalPax,ACTA.TotalNights,ACTA.AccoBookingId,ACTA.TotalCost,ACTA.Discounts,
        ACTA.Taxes,ACTA.AdultPax,ACTA.ChildPax,ACTA.TotalNights,ACTA.SpecialRequest FROM TB_Agency_Customer_TravelPlan_Accom ACTA 
        LEFT OUTER JOIN TB_IC_Accomdation_old A ON A.AccomSysId=ACTA.AccoSysId        
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan_Itenary ACTI ON ACTI.TPIntSysId=ACTA.TPIntSysId
        LEFT OUTER JOIN TB_Agency_Customer_TravelPlan ACTP ON ACTI.TPSysId=ACTP.TPSysId  
        LEFT OUTER JOIN TB_Agency_Customer_Trx ACX ON ACTP.TPSysId= ACX.TPSysId
        LEFT OUTER JOIN TB_Agency_Customer AC ON AC.CustomerSysId=ACX.CustomerSysId
        LEFT OUTER JOIN TB_Agency AG ON AG.AgencySysId=ACTP.AgencySysId 
        LEFT OUTER JOIN TB_Master_Geo_City GC ON GC.TBBCityId=ACTA.XRefCityId
        WHERE AG.AgencySysId='".$sessionLogin_user->intLoggedinUserAgencySysId."' AND 
        GC.TBBCityId=ACTA.XRefCityId AND ACX.TrxType='H' AND
        ACX.TrxStatus='1' AND  ACX.CustomerSysId='".$custID."'  AND ACTP.TPSysId='".$TPSysId."'  order by ACX.TrxSysId desc ";
        $res = $this->db->query($sql)->fetchAll();
		$voucer_view=new Zend_Session_Namespace('voucer_view');
		$voucer_view->voucer_view=$res;
      	return $res;
    }*/



    // Added BY Pardeep Panchal Starts...


    public function getCustomerAndMembersDetails($mobilno = NULL, $emailId = NULL)
    {

        $arrCustomer = array('CustomerSysId', 'EmailId', 'Title', 'Contacts', 'FirstName', 'LastName', 'Relation as customerRel', 'DOB as customerDOB', 'Address as customerAddress', 'CitySysId as customerCitySysId');
        $arrCustomerMember = array('MemberSysId', 'CustomerSysId as MCustomerSysId', 'Title as MTitle', 'FirstName as MFirstName', 'LastName as MLastName', 'Relation as MemberRel');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer"), $arrCustomer);
        $select->joinLeft(array('tb2' => "TB_Agency_Customer_Members"), "tbl.CustomerSysId = tb2.CustomerSysId", $arrCustomerMember);
        if (!empty($mobilno)) {
            $select->where("tbl.Contacts = ?", $mobilno);
        }
        if (!empty($emailId)) {
            $select->where("tbl.EmailId = ?", $emailId);
        }
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        //$select->where("tbl.IsApproved = ?", 1);
        //$select->where("tb2.Relation != ?", '');
        $select->where("tbl.AgencySysId = ?", $this->intLoggedinUserAgencySysId);
        $select->order("tb2.FirstName ASC");
        //echo $select; exit;
        $result = $this->db->fetchAll($select);
        return $result;
    }




    public function checkIfAgencyCustomerExists($data, $AgencySysId = NULL)
    {
        if (!empty($AgencySysId)) {
            $this->intLoggedinUserAgencySysId = $AgencySysId;
        }
        $strMobile = trim($data['ContactNumber']);
        $strEmailId = trim($data['EmailId']);
        $arrCustomer = array('CustomerSysId');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer"), $arrCustomer);
        $select->where("tbl.AgencySysId = ?", $this->intLoggedinUserAgencySysId);
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        //$select->where("tbl.IsApproved = ?", 1);
        $select->Where("tbl.Contacts = '$strMobile' AND tbl.EmailId = '$strEmailId'");
        $select->limit(1);
        //        echo $select; exit;
        $result = $this->db->fetchAll($select);
        return $result;
    }



    public function getAgencyCustomer($CustomerSysId)
    {

        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer"));
        //$select->where("tbl.AgencySysId = ?",$AgencySysId);
        $select->where("tbl.CustomerSysId = ?", $CustomerSysId);
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        $result = $this->db->fetchRow($select);
        return $result;
    }



    public function checkIfCRMCustomerExists($data)
    {
        $strMobile = trim($data['ContactNumber']);
        $strEmailId = trim($data['EmailId']);
        $arrCustomer = array('CRMCustSysId');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_CRM_CustomerAccount"), $arrCustomer);
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        //$select->where("tbl.IsApproved = ?", 1);
        $select->Where("tbl.PrimaryContactNumber = '$strMobile' OR tbl.EmailId = '$strEmailId'");
        $select->limit(1);
        //echo $select; exit;
        $result = $this->db->fetchAll($select);
        return $result;
    }



    public function createAgencyCustomer($data, $AgencySysId = NULL)
    {
        //echo "<pre>";print_r($data);die('ddd');
        if (!empty($AgencySysId)) {
            $this->intLoggedinUserAgencySysId = $AgencySysId;
            $this->intLoggedinUserId = $AgencySysId;
        }
        /* Check if already added or not */

        $result = $this->checkIfAgencyCustomerExists($data, $AgencySysId);

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


        if (count($resultCRM) == 0 && count($result) == 0) {
            $dataCrm = array();
            $dataCrm['Salutation'] = $data['Salutation'];
            $dataCrm['EmailId']  = $data['EmailId'];
            $dataCrm['PrimaryContactNumber']  = $data['ContactNumber'];
            $dataCrm['FullName']   = $data['FirstName'] . " " . $data['LastName'];
            $dataCrm['FirstName']  = $data['FirstName'];
            $dataCrm['LastName'] = $data['LastName'];
            $dataCrm['ActiveDate'] = $currentDate;
            $dataCrm['IsApproved'] = '1';
            $dataCrm['IsActive'] = '1';
            $dataCrm['IsMarkForDelete'] = '0';

            $this->db->insert('TB_CRM_CustomerAccount', $dataCrm);
            $CRMCustSysId = $this->db->lastInsertId('TB_CRM_CustomerAccount');
        } else {
            $CRMCustSysId = isset($resultCRM[0]['CRMCustSysId']) ? $resultCRM[0]['CRMCustSysId'] : 0;

            /*$dataCrmUpdate = array();
                        $dataCrmUpdate['Salutation'] = $data['Salutation'];
                        $dataCrmUpdate['EmailId']  = $data['EmailId'];
                        $dataCrmUpdate['PrimaryContactNumber']  = $data['ContactNumber'];
                        $dataCrmUpdate['FullName']   = $data['FirstName']." ".$data['LastName'];
                        $dataCrmUpdate['FirstName']  = $data['FirstName'];
                        $dataCrmUpdate['LastName'] = $data['LastName'];

                        $where = "CRMCustSysId = ".trim($CRMCustSysId);
                        $this->db->update('TB_CRM_CustomerAccount', $dataCrmUpdate,$where);*/
        }
        if (count($result) == 0) {
            //add lead customer account created by Er Amit Kumar Dubey on 23 feberuary 2017 at 12:46 PM
            $userLeadArray = array(
                'AgencySysId' => $this->intLoggedinUserAgencySysId,
                'EmailId' => $data['EmailId'],
                'Salutation' => $data['Salutation'],
                'PrimaryContactNumber' => $data['ContactNumber'],
                'FullName' => $data['FirstName'] . " " . $data['LastName'],
                'FirstName' => $data['FirstName'],
                'LastName' => $data['LastName'],
                'LeadSourceSysId' => $data['LeadSourceSysId'],
                'LeadStageSysId' => $data['LeadStageSysId'],
                'AssignUserSysId' => $this->intLoggedinUserId,
                'ActiveDate' => $currentDate,
                'UpdatedDate' => $currentDate,
                'CreatedDate' => $currentDate,
                'IsApproved' => '1',
                'IsActive' => '1',
                'IsMarkForDelete' => '0'
            );
            //for create new customer
            $this->db->insert('TB_Agency_CRM_LeadAccount', $userLeadArray);
            $AgencyCRMLeadSysId = $this->db->lastInsertId('TB_Agency_CRM_LeadAccount');

            //end of add lead customer
            if (!empty($CRMCustSysId) && !empty($AgencyCRMLeadSysId)) {

                $dataAgency = array(
                    'AgencySysId' => $this->intLoggedinUserAgencySysId,
                    'CRMCustSysId' => $CRMCustSysId,
                    'AgencyCRMLeadSysId' => $AgencyCRMLeadSysId,
                    'CreatedByUserSysId' => $this->intLoggedinUserId,
                    'paxType' => $data['paxType'],
                    'EmailId' => $data['EmailId'],
                    'Relation' =>   $data['Relation'],
                    'Title' => $data['Salutation'], 'Logo' => ' ', 'IsfromSM' => '0',
                    'SMTypeId' => '0', 'SMId' => ' ', 'UserId' => '0', 'IsEmployee' => '0',
                    'Contacts' => $data['ContactNumber'], 'JoinDate' => $currentDate,
                    'DOB' => !empty($data['DOB']) ? $data['DOB'] : "1900-01-01",
                    'ExitDate' => $currentDate, 'UserName' => ' ',
                    'FirstName' => $data['FirstName'],
                    'LastName' => $data['LastName'],
                    'Designation' => ' ', 'Password' => ' ', 'RandStr' => ' ',
                    'PasswordExpiryDate' => EMPTY_DATE,
                    'PassportNationality' => !empty($data['PassportNationality']) ? $data['PassportNationality'] : '',
                    'PassportIssue' => !empty($data['PassportIssue']) ? $data['PassportIssue'] : '1900-01-01',
                    'PassportExpiry' => !empty($data['PassportExpiry']) ? $data['PassportExpiry'] : '1900-01-01',
                    'PassportNo' => !empty($data['PassportNo']) ? $data['PassportNo'] : '',
                    'IsPswExpire' => '0', 'OtherEmail' => ' ',
                    'SecondaryEmail' => !empty($data['SecondaryEmail']) ? $data['SecondaryEmail'] : " ",
                    'LastLoginTime' => EMPTY_DATE,
                    'IsLogInNow' => '0', 'CreatedByUserSysId' => $this->intLoggedinUserId,
                    'RandomCode' => ' ', 'Gender' => $data['Salutation'],
                    'UserNickName' => ' ', 'UserPicPath' => ' ',
                    'ContactNo1' => !empty($data['Contacts']) ? $data['Contacts'] : " ",
                    'ContactNo2' => ' ', 'HomePhone' => ' ',
                    'SecondaryPhone' => !empty($data['SecondaryPhone']) ? $data['SecondaryPhone'] : " ",
                    'UserDetails' => ' ', 
                    'Address' => !empty($data['Address']) ? $data['Address'] : '',
                    'CitySysId' => !empty($data['CitySysId']) ? $data['CitySysId'] : '0',
                    'StateOrZoneSysId' => !empty($data['StateOrZoneSysId']) ? $data['StateOrZoneSysId'] : '0',
                    'CountrySysId' => !empty($data['CountrySysId']) ? $data['CountrySysId'] : '0',
                    'PinCode' => !empty($data['PinCode']) ? $data['PinCode'] : " ",
                    'PanCard' => !empty($data['PanCard']) ? $data['PanCard'] : " ",
                    'GstNumber' => !empty($data['GstNumber']) ? $data['GstNumber'] : " ",
                    'SecondaryAddress' => ' ', 'Fax' => ' ',
                    'MacIp' => ' ', 'SpeakingLangSysId' => '0',
                    'Signature' => ' ', 'UpdateDate' => $currentDate,
                    'RegisterDate' => $currentDate, 'IsApproved' => '1',
                    'IsActive' => '1', 'IsMarkForDelete' => '0'
                );

                $this->db->insert('TB_Agency_Customer', $dataAgency);
                $intAgencyCustomerSysId = $this->db->lastInsertId('TB_Agency_Customer');
                return $intAgencyCustomerSysId;
            }
        } else {


            $CustomerSysId = trim($result[0]['CustomerSysId']);
            $arrCustDetails = $this->getAgencyCustomer($CustomerSysId);


            $Title = trim($arrCustDetails['Title']);
            $FirstName = trim($arrCustDetails['FirstName']);
            $LastName = trim($arrCustDetails['LastName']);
            $Gender = trim($arrCustDetails['Gender']);
            $arrDOB = (array)$arrCustDetails['DOB'];
            $arrDOB = $arrDOB['date'];
            $CitySysId = trim($arrCustDetails['CitySysId']);
            $Address = trim($arrCustDetails['Address']);

            $dataAgencyUpdate = array();
            $dataAgencyUpdate['Relation'] =   !empty($data['Relation']) ? $data['Relation'] : 0;
            $dataAgencyUpdate['Title'] = $data['Salutation'];

            if ($FirstName == "") {
                $dataAgencyUpdate['FirstName'] = trim($data['FirstName']);
            }
            if ($LastName == "") {
                $dataAgencyUpdate['LastName'] = trim($data['LastName']);
            }
            if (!empty($data['PanCard'])) {
                $dataAgencyUpdate['PanCard'] = $data['PanCard'];
            }
            if (!empty($data['GstNumber'])) {
                $dataAgencyUpdate['GstNumber'] = $data['GstNumber'];
            }

            $dataAgencyUpdate['Gender'] = $data['Salutation'];
            $dataAgencyUpdate['paxType'] = $data['paxType'];


            $dataAgencyUpdate['SecondaryEmail'] = !empty($data['SecondaryEmail']) ? $data['SecondaryEmail'] : ' ';
            $dataAgencyUpdate['SecondaryPhone'] = !empty($data['SecondaryPhone']) ? $data['SecondaryPhone'] : ' ';
            $dataAgencyUpdate['PinCode'] = !empty($data['PinCode']) ? $data['PinCode'] : ' ';
            $dataAgencyUpdate['DOB'] = !empty($data['DOB']) ? $data['DOB'] : '1900-01-01';
            $dataAgencyUpdate['PassportNationality'] = !empty($data['PassportNationality']) ? $data['PassportNationality'] : '';
            $dataAgencyUpdate['PassportIssue'] = !empty($data['PassportIssue']) ? $data['PassportIssue'] : '1900-01-01';
            $dataAgencyUpdate['PassportExpiry'] = !empty($data['PassportExpiry']) ? $data['PassportExpiry'] : '1900-01-01';
            $dataAgencyUpdate['PassportNo'] = !empty($data['PassportNo']) ? $data['PassportNo'] : '';

            if ($Address == "") {
                $dataAgencyUpdate['Address'] = !empty($data['Address']) ? $data['Address'] : '';
            }

            $dataAgencyUpdate['CitySysId'] = !empty($data['CitySysId']) ? $data['CitySysId'] : '0';
            $dataAgencyUpdate['CountrySysId'] = !empty($data['CountrySysId']) ? $data['CountrySysId'] : '0';
            $dataAgencyUpdate['StateOrZoneSysId'] = !empty($data['StateOrZoneSysId']) ? $data['StateOrZoneSysId'] : '0';




            $where = "CustomerSysId = " . $CustomerSysId; //exit;
//                        echo "<pre>";print_r($dataAgencyUpdate);die('ddd');
            $this->db->update('TB_Agency_Customer', $dataAgencyUpdate, $where);

            return trim($result[0]['CustomerSysId']);
        }

        return 0;
    }



    public function updateAgencyCustomer($data)
    {
        $currentDate   = date('Y-m-d H:i:s');
        $updatArray = array(
            "EmailId" => trim($data['emailId']),
            "UpdateDate" => $currentDate
        );
        $where = "CustomerSysId=" . trim($data['CustomerSysId']);
        $this->db->update('TB_Agency_Customer', $updatArray, $where);
        return $data['CustomerSysId'];
    }
    public function createAgencyCustomerMember($data)
    {

        $currentDate   = date('Y-m-d H:i:s');
        $isCustomerExist = $this->getCustomerAndMembersDetailsAll(trim($data['ContactNumber']), trim($data['EmailId']), trim($data['Salutation']), trim($data['Relation']), trim($data['FirstName']), trim($data['LastName']), $this->intLoggedinUserAgencySysId);
        // print_r($isCustomerExist);die;
        if (count($isCustomerExist) == 0) {
            $arrCustMember = array(
                'AgencySysId' => $this->intLoggedinUserAgencySysId,
                'CustomerSysId' => $data['customerSysId'],
                'EmailId' => $data['EmailId'],
                'Relation' =>   $data['Relation'],
                'Title' => $data['Salutation'], 'Logo' => ' ', 'IsfromSM' => '0',
                'SMTypeId' => '0', 'SMId' => ' ', 'UserId' => '0', 'IsEmployee' => '0',
                'Contacts' => $data['ContactNumber'], 'JoinDate' => $currentDate,
                'ExitDate' => $currentDate, 'UserName' => ' ',
                'FirstName' => $data['FirstName'],
                'LastName' => $data['LastName'],
                'Designation' => ' ', 'Password' => ' ', 'RandStr' => ' ',
                'PasswordExpiryDate' => EMPTY_DATE,
                'IsPswExpire' => '0', 'OtherEmail' => ' ',
                'SecondaryEmail' => ' ', 'LastLoginTime' => EMPTY_DATE,
                'IsLogInNow' => '0', 'CreatedByUserSysId' => $this->intLoggedinUserId,
                'RandomCode' => ' ', 'Gender' => '0',
                'UserNickName' => ' ', 'UserPicPath' => ' ',
                'ContactNo1' => ' ', 'ContactNo2' => ' ', 'HomePhone' => ' ',
                'SecondaryPhone' => ' ', 'UserDetails' => ' ', 'Address' => !empty($data['Address']) ? $data['Address'] : '',
                'CitySysId' => !empty($data['CitySysId']) ? $data['CitySysId'] : '0', 'StateOrZoneSysId' => '0', 'CountrySysId' => !empty($data['CountrySysId']) ? $data['CountrySysId'] : '',
                'PinCode' => ' ', 'SecondaryAddress' => ' ', 'Fax' => ' ',
                'MacIp' => ' ', 'SpeakingLangSysId' => '0',
                'Signature' => ' ', 'UpdateDate' => EMPTY_DATE,
                'RegisterDate' => EMPTY_DATE, 'IsApproved' => '1',
                'IsActive' => '1', 'IsMarkForDelete' => '0'
            );


            $this->db->insert('TB_Agency_Customer_Members', $arrCustMember);
            $intAgencyCustomerMemberSysId = $this->db->lastInsertId('TB_Agency_Customer_Members');
            return $intAgencyCustomerMemberSysId;
        } else {
            return $isCustomerExist[0]['MemberSysId'];
        }
    }


    public function createCustomerTravelPlanAndAll($data)
    {
        //echo "<pre>"; print_r($data); exit;
        $arrTravelPlanIds = array();
        $currentDate   = date('Y-m-d H:i:s');
        //echo "<pre>";print_r($_SESSION);EXIT;
        $sessionhotelDirectSearchData = new Zend_Session_Namespace('sessionHotelDirectSearchData');
        $strCheckInDate = $sessionhotelDirectSearchData->params['hotelFromDateSession'];
        $strCheckOutDate = $sessionhotelDirectSearchData->params['hotelToDateSession'];
        $intGTXCityId = $sessionhotelDirectSearchData->params['hotelXrefCityId'];
        $strRoomMemInfoJson = $sessionhotelDirectSearchData->params['RoomMemInfoJson'];

        $sessionPreBookingHotelDetails = new Zend_Session_Namespace('sessionPreBookingHotelDetails');
        $API_SOURCE_ID = $sessionPreBookingHotelDetails->params['HOTELINFO']['API_SOURCE_ID'];

        if ($API_SOURCE_ID == 3) {
            $RoomTypeStr = $data['RoomTypeStr'];
        } else {
            $RoomTypeStr = $data['RoomTypeStrGRN'];
        }


        $sessionHotelPriceAndMarkupsDetails = new Zend_Session_Namespace('sessionHotelPriceAndMarkupsDetails');
        $arrHotelPriceAndMarkupsDetails = $sessionHotelPriceAndMarkupsDetails->params;
        //echo "<pre>";print_r($arrHotelPriceAndMarkupsDetails);
        if (count($arrHotelPriceAndMarkupsDetails) > 0) {
            $intBasePrice = $arrHotelPriceAndMarkupsDetails['intBasePrice'];
            $intSTaxOnBasePrice = $arrHotelPriceAndMarkupsDetails['intSTaxOnBasePrice'];
            $intPriceWithMarkUpsAndSTax = $arrHotelPriceAndMarkupsDetails['intPriceWithMarkUpsAndSTax'];
            $intGTXMarkUp = $arrHotelPriceAndMarkupsDetails['intGTXMarkUp'];
            $intSTaxOnGTXMarkUp = $arrHotelPriceAndMarkupsDetails['intSTaxOnGTXMarkUp'];
            $intGTXMarkUpWithSTax = $arrHotelPriceAndMarkupsDetails['intGTXMarkUpWithSTax'];
            $intAgencyMarkUp = $arrHotelPriceAndMarkupsDetails['intAgencyMarkUp'];
            $intSTaxOnAgencyMarkUp = $arrHotelPriceAndMarkupsDetails['intSTaxOnAgencyMarkUp'];
            $intAgencyMarkUpWithSTax = $arrHotelPriceAndMarkupsDetails['intAgencyMarkUpWithSTax'];
            $intNetSTax = $arrHotelPriceAndMarkupsDetails['intNetSTax'];
            $intGTXMarkUpType = $arrHotelPriceAndMarkupsDetails['GTXMarkUpType'];
            $intAgencyMarkUpType = $arrHotelPriceAndMarkupsDetails['AgencyMarkUpType'];
            $intAgencyMarkUpDB = @$arrHotelPriceAndMarkupsDetails['AgencyMarkUpDB'];
        } else {
            $intBasePrice = 0;
            $intSTaxOnBasePrice = 0;
            $intPriceWithMarkUpsAndSTax = 0;
            $intGTXMarkUp = 0;
            $intSTaxOnGTXMarkUp = 0;
            $intGTXMarkUpWithSTax = 0;
            $intAgencyMarkUp = 0;
            $intSTaxOnAgencyMarkUp = 0;
            $intAgencyMarkUpWithSTax = 0;
            $intNetSTax = 0;
            $intAgencyMarkUpDB = 0;
        }

        $intRoomCount =  count(json_decode($data['RoomMemInfoJson'], true));
        if ($API_SOURCE_ID == 3) {
            $serviceTaxApiType = 8;
            $intBasePrice = ($intBasePrice * $intRoomCount);
        } else if ($API_SOURCE_ID == 4) {
            $serviceTaxApiType = 9;
            $intBasePrice = ($intBasePrice);
        } else {
            $serviceTaxApiType = 8;
            $intBasePrice = ($intBasePrice * $intRoomCount);
        }


        if ($intAgencyMarkUpType == 2) {

            $intAgencyMarkUp = $intAgencyMarkUp * $intRoomCount;
            if ($API_SOURCE_ID == 3) {
                $intAgencyMarkUp = $intAgencyMarkUp - ($intGTXMarkUp * $intAgencyMarkUpDB) / 100;
            }
        }


        //echo $intAgencyMarkUp;exit;


        $arrSTaxOnBaseAmount = Zend_Controller_Action_HelperBroker::getStaticHelper('Hotel')->getApiServiceTax($intBasePrice, "H", $serviceTaxApiType);
        $intSTaxOnBasePrice = !empty($arrSTaxOnBaseAmount['serviceTaxAmount']) ? $arrSTaxOnBaseAmount['serviceTaxAmount'] : 0;

        $arrSTaxOnGTXMarkUp = Zend_Controller_Action_HelperBroker::getStaticHelper('Hotel')->getApiServiceTax($intGTXMarkUp, "H", $serviceTaxApiType);
        $intSTaxOnGTXMarkUp = !empty($arrSTaxOnGTXMarkUp['serviceTaxAmount']) ? $arrSTaxOnGTXMarkUp['serviceTaxAmount'] : 0;

        $arrSTaxOnAgencyMarkUp = Zend_Controller_Action_HelperBroker::getStaticHelper('Hotel')->getApiServiceTax($intAgencyMarkUp, "H", $serviceTaxApiType);
        $intSTaxOnAgencyMarkUp = !empty($arrSTaxOnAgencyMarkUp['serviceTaxAmount']) ? $arrSTaxOnAgencyMarkUp['serviceTaxAmount'] : 0;

        $intTotalCost = $intBasePrice + $intAgencyMarkUp + $intGTXMarkUp + $intSTaxOnBasePrice + $intSTaxOnGTXMarkUp + $intSTaxOnAgencyMarkUp;


        if (!empty($strCheckInDate)) {
            $arrCheckInDate = explode("/", $strCheckInDate);
            if (count($arrCheckInDate) > 0) {
                $strCheckInDateNew = $arrCheckInDate[2] . "-" . $arrCheckInDate[1] . "-" . $arrCheckInDate[0];
            }
        }

        if (!empty($strCheckOutDate)) {
            $arrCheckOutDate = explode("/", $strCheckOutDate);
            if (count($arrCheckOutDate) > 0) {
                $strCheckOutDateNew = $arrCheckOutDate[2] . "-" . $arrCheckOutDate[1] . "-" . $arrCheckOutDate[0];
            }
        }
        //echo $strCheckOutDateNew; exit;
        //*************insert Data   TB_Agency_Customer_TravelPlan ********/ 
        $plancode = 'Q/' . date('y');
        $arrCustomerTravelPlnProposal = array(
            'PlanBookingId' => $plancode,
            'AgencySysId' => $this->intLoggedinUserAgencySysId,
            'AgentSysId' => $this->intLoggedinUserId,
            'CreatorSysId' => $this->intLoggedinUserId,
            'SupplierSysId' => $API_SOURCE_ID,
            'StatusType' => '2',
            'InventoryType' => $data['InventoryType'],
            'CurrencyType' => $data['CurrencyType'],
            'RoomInfoJson' => $data['RoomInfoJson'],
            'SourcePlaceSysId' => $data['SourcePlaceSysId'],
            'DestinationPlacesSysId' => $data['DestPlaceSysId'],
            'SourcePlaces' => $data['SourcePlaceName'],
            'DestinationPlaces' => $data['DestPlaceName'],
            'Cities' => $data['hotelCityTitle'],
            'Countries' => $data['Countries'],
            'TemplatePckSysId' => $data['TemplatePckSysId'],
            'CustomerSysId' => $data['customerSysId'],
            'PlanType' => '2', // 2 For Hotel
            'StartDate' => $strCheckInDateNew,
            'ValidTill' => $strCheckOutDateNew,
            'CreateDate' => $currentDate,
            'UpdateDate' => $currentDate,
            'ApproveDate' => $currentDate,
            'IsMarkForDel' => '0',
            'IsActive' => '1',
            'IsAprooved' => '0'
        );

        $this->db->insert('TB_Agency_Customer_TravelPlan_Query', $arrCustomerTravelPlnProposal);
        $intTravelPlanId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Query');

        //for query insert itenary and accom data created by Er Amit Kumar Dubey on 9 march 2017 at 10:49 AM
        //*************insert Data   TB_Agency_Customer_TravelPlan_Itenary ********/ 
        $arrTravelPlanItenaryQuery = array(
            'TPSysId' => $intTravelPlanId,
            'AgencySysId' => $this->intLoggedinUserAgencySysId,
            'Sequence' => '1',
            'CitySysId' => $intGTXCityId,
            'StartDate' => $strCheckInDateNew,
            'EndDate' => $strCheckOutDateNew, 'CreateDate' => $currentDate,
            'UpdateDate' => $currentDate,
            'IsActive' => '1',
        );

        $this->db->insert('TB_Agency_Customer_TravelPlan_Itenary', $arrTravelPlanItenaryQuery);
        $intTravelPlanItenarySysIdQuery = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Itenary');
        $arrTravelPlanAccomQuery = array(
            "TPIntSysId" => $intTravelPlanItenarySysIdQuery,
            "SeqId" => 1,
            "IsFromAPI" => '1',
            "SupplierSysId" => $API_SOURCE_ID,
            "SourceSysId" => $API_SOURCE_ID,
            "AccoBookingId" => '',
            "XRefBookingId" => '0',
            "AgencySysId" => $this->intLoggedinUserAgencySysId,
            "AccoSysId" => @$_SESSION['SELECTED_HTL_ID'],
            'RoomType' => '0',
            'RoomMemInfoJson' => $data['RoomMemInfoJson'],
            'RoomNumber' => '1',
            'RoomTypeStr' => $RoomTypeStr,
            'TotalNights' => $data['hotelTotalNights'],
            "Title" => $data['hotelCityTitle'],
            "SpecialRequest" => $data['specialReq'],
            'CheckInTime' => $strCheckInDateNew, 'CheckOutTime' => $strCheckOutDateNew,
            'XRefCityId' => $_SESSION['SEARCH']['hidden_selected_hotel_id'],
            "FromDate" => $strCheckInDateNew, "ToDate" => $strCheckOutDateNew,
            "AdultPax" => $data['AdultPax'],
            "ChildPax" => $data['ChildPax'], "InfantPax" => '0',
            "PetPax" => '0', 'ChildsAge' => $data['ChildsAge'],
            "TotalPax" => $data['TotalPax'], "StarRating" => $data['hotelStarRating'], "CurrencyType" => $data['CurrencyType'],
            "TotalCost" => $intTotalCost, "Discounts" => '0',
            "Taxes" => $intNetSTax,
            "NetCost" => $intBasePrice, "MarkUp" => '0',
            "AgencyMarkUp" => $intAgencyMarkUp, "GTXMarkup" => $intGTXMarkUp,
            "XServiceTaxAmount" => $intSTaxOnBasePrice, "GTXServiceTaxAmount" => $intSTaxOnGTXMarkUp,
            "AgentServiceTaxAmount" => $intSTaxOnAgencyMarkUp, "AgentsCustomServiceTaxAmount" => 0,
            "CreateDate" => $currentDate, "UpdateDate" => $currentDate,
            "IsMarkForDel" => '0', "IsSelectedOnPkg" => 1, "IsActive" => 1
        );



        //echo "<pre>";print_r($arrTravelPlanAccomQuery); exit;
        $this->db->insert('TB_Agency_Customer_TravelPlan_Accom', $arrTravelPlanAccomQuery);
        //$intTravelPlanAccomSysId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Accom');
        //end for query insert itenary and accom data created by Er Amit Kumar Dubey on 9 march 2017 at 10:49 AM






        $arrCustomerTravelPlnProposalSent = array(
            'PlanBookingId' => $plancode,
            'MasterTPSysId' => $intTravelPlanId,
            'AgencySysId' => $this->intLoggedinUserAgencySysId,
            'AgentSysId' => $this->intLoggedinUserId,
            'CreatorSysId' => $this->intLoggedinUserId,
            'SupplierSysId' => $API_SOURCE_ID,
            'StatusType' => '4',
            'InventoryType' => $data['InventoryType'],
            'CurrencyType' => $data['CurrencyType'],
            'RoomInfoJson' => $data['RoomInfoJson'],
            'SourcePlaceSysId' => $data['SourcePlaceSysId'],
            'DestinationPlacesSysId' => $data['DestPlaceSysId'],
            'SourcePlaces' => $data['SourcePlaceName'],
            'DestinationPlaces' => $data['DestPlaceName'],
            'Cities' => $data['hotelCityTitle'],
            'Countries' => $data['Countries'],
            'CustomerSysId' => $data['customerSysId'],
            'PlanType' => '2', // 2 For Hotel
            'StartDate' => $strCheckInDateNew,
            'ValidTill' => $strCheckOutDateNew,
            'CreateDate' => $currentDate,
            'UpdateDate' => $currentDate,
            'ApproveDate' => $currentDate,
            'IsMarkForDel' => '0',
            'IsActive' => '1',
            'IsAprooved' => '0'
        );
        // print_r($arrCustomerTravelPlnProposalSent);
        $this->db->insert('TB_Agency_Customer_TravelPlan', $arrCustomerTravelPlnProposalSent);
        $intTravelPlanId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan');
        //*************insert Data   TB_Agency_Customer_TravelPlan ********/ 

        if (!empty($intTravelPlanId)) {

            //*******************TB_Agency_Customer_TravelPlan_Pax*******************//
            $arrTravelPlanPax = array(
                'TPSysId' => $intTravelPlanId,
                'CustomerSysId' => $data['customerSysId'],
                'MemberSysId' => $data['customerMemberSysId'],
                'UpdateDate' => $currentDate,
                'IsApproved' => '1',
                'IsActive' => '1',
                'IsMarkForDelete' => '0'
            );
            //echo "<pre>";print_r($arrTravelPlanPax);exit;
            $this->db->insert('TB_Agency_Customer_TravelPlan_Pax', $arrTravelPlanPax);
            $intTravelPlanPaxSysId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Pax');
            //*******************TB_Agency_Customer_TravelPlan_Pax*******************//


            //*************insert Data   TB_Agency_Customer_TravelPlan_Itenary ********/ 

            $arrTravelPlanItenary = array(
                'TPSysId' => $intTravelPlanId,
                'AgencySysId' => $this->intLoggedinUserAgencySysId,
                'Sequence' => '1',
                'CitySysId' => $intGTXCityId,
                'StartDate' => $strCheckInDateNew,
                'EndDate' => $strCheckOutDateNew, 'CreateDate' => $currentDate,
                'UpdateDate' => $currentDate,
                'IsActive' => '1',
            );

            $this->db->insert('TB_Agency_Customer_TravelPlan_Itenary', $arrTravelPlanItenary);
            $intTravelPlanItenarySysId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Itenary');

            //*************insert Data   TB_Agency_Customer_TravelPlan_Itenary ********/ 



            //****************************TB_Agency_Customer_TravelPlan_Accom*****************//////
            if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                $romType = $_SESSION['BOOK_ROM_INVENTORY'][0]['Title'];
            }
            if (isset($_SESSION['BOOK_ROM_INVENTORY'])) {
                $romType = $_SESSION['blkRoom']['BlockRoomResult']['HotelRoomsDetails'][0]['RoomTypeName'];
            }

            $booking = 'HTL-' . Zend_Controller_Action_HelperBroker::getStaticHelper('General')->generateRandomString(5);
            $memCnt = count($_SESSION['sessionHotelDirectSearchData']['params']['memberDetails']);
            $memArr = $_SESSION['sessionHotelDirectSearchData']['params']['memberDetails'];
            $j = 0;
            $K = 1;

            //for ($i = 0; $i < $memCnt; $i++) {

            $arrTravelPlanAccom = array(
                "TPIntSysId" => $intTravelPlanItenarySysId,
                "SeqId" => $K,
                "IsFromAPI" => '1',
                "SupplierSysId" => $API_SOURCE_ID,
                "SourceSysId" => $API_SOURCE_ID,
                "AccoBookingId" => '',
                "XRefBookingId" => '0',
                "AgencySysId" => $this->intLoggedinUserAgencySysId,
                "AccoSysId" => @$_SESSION['SELECTED_HTL_ID'],
                'RoomType' => '0',
                'RoomMemInfoJson' => $data['RoomMemInfoJson'],
                'RoomNumber' => '1',
                'RoomTypeStr' => $RoomTypeStr,
                'TotalNights' => $data['hotelTotalNights'],
                "Title" => $data['hotelCityTitle'],
                "SpecialRequest" => $data['specialReq'],
                'CheckInTime' => $strCheckInDateNew, 'CheckOutTime' => $strCheckOutDateNew,
                'XRefCityId' => $intGTXCityId,
                "FromDate" => $strCheckInDateNew, "ToDate" => $strCheckOutDateNew,
                "AdultPax" => $data['AdultPax'],
                "ChildPax" => $data['ChildPax'], "InfantPax" => '0',
                "PetPax" => '0', 'ChildsAge' => $data['ChildsAge'],
                "TotalPax" => $data['TotalPax'], "StarRating" => $data['hotelStarRating'], "CurrencyType" => $data['CurrencyType'],
                "TotalCost" => $intTotalCost, "Discounts" => '0',
                "Taxes" => $intNetSTax,
                "NetCost" => $intBasePrice, "MarkUp" => '0',
                "AgencyMarkUp" => $intAgencyMarkUp, "GTXMarkup" => $intGTXMarkUp,
                "XServiceTaxAmount" => $intSTaxOnBasePrice, "GTXServiceTaxAmount" => $intSTaxOnGTXMarkUp,
                "AgentServiceTaxAmount" => $intSTaxOnAgencyMarkUp, "AgentsCustomServiceTaxAmount" => 0,
                "CreateDate" => $currentDate, "UpdateDate" => $currentDate,
                "IsMarkForDel" => '0', "IsSelectedOnPkg" => 1, "IsActive" => 1
            );
            //echo "<pre>";print_r($arrTravelPlanAccom); exit;
            $this->db->insert('TB_Agency_Customer_TravelPlan_Accom', $arrTravelPlanAccom);
            //$j++;
            //$K++;
            //}
            $intTravelPlanAccomSysId = $this->db->lastInsertId('TB_Agency_Customer_TravelPlan_Accom');
            //$_SESSION['SeqId'] = $maxUserID;


        }

        $arrTravelPlanIds = array(
            "intTpSysId" => $intTravelPlanId,
            "intTpIntSysId" => $intTravelPlanItenarySysId
        );
        return $arrTravelPlanIds;
    }


    // Added BY Pardeep Panchal Ends...
    public function getCustomerAndMembersDetailsAll($mobilno = NULL, $emailId = NULL, $salutation = NULL, $relation = NULL, $firstName = NULL, $lastName = NULL, $AgencySysId, $CustomerSysId = NULL)
    {

        $arrCustomer = array('CustomerSysId', 'EmailId', 'Title', 'Contacts', 'FirstName', 'LastName', 'Relation as customerRel', 'DOB as customerDOB', 'Address as customerAddress', 'CitySysId as customerCitySysId');
        $arrCustomerMember = array('MemberSysId', 'CustomerSysId as MCustomerSysId', 'Title as MTitle', 'FirstName as MFirstName', 'LastName as MLastName', 'Relation as MemberRel');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer_Members"), $arrCustomerMember);
        $select->joinLeft(array('tb2' => "TB_Agency_Customer"), "tbl.CustomerSysId = tb2.CustomerSysId", $arrCustomer);
        if (!empty($mobilno)) {
            $select->where("tbl.Contacts = ?", $mobilno);
        }
        if (!empty($emailId)) {
            $select->where("tbl.EmailId = ?", $emailId);
        }
        if (!empty($salutation)) {
            $select->where("tbl.Title = ?", $salutation);
        }
        if (!empty($relation)) {
            $select->where("tbl.Relation = ?", $relation);
        }
        if (!empty($firstName)) {
            $select->where("tbl.FirstName = ?", $firstName);
        }
        if (!empty($lastName)) {
            $select->where("tbl.LastName = ?", $lastName);
        }
        if (!empty($CustomerSysId)) {
            $select->where("tbl.CustomerSysId = ?", $CustomerSysId);
        }
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        $select->where("tbl.IsApproved = ?", 1);
        //$select->where("tb2.Relation != ?", '');
        $select->where("tbl.AgencySysId = ?", $AgencySysId);
        $select->order("tb2.FirstName ASC");
        //echo $select; exit;
        $result = $this->db->fetchAll($select);
        return $result;
    }
    public function getCustomerDetailsAll($mobilno = NULL, $emailId = NULL, $salutation = NULL, $relation = NULL, $firstName = NULL, $lastName = NULL, $AgencySysId)
    {

        $arrCustomer = array('CustomerSysId', 'EmailId', 'Title', 'Contacts', 'FirstName', 'LastName', 'Relation as customerRel', 'DOB as customerDOB', 'Address as customerAddress', 'CitySysId as customerCitySysId');
        $arrCustomerMember = array('MemberSysId', 'CustomerSysId as MCustomerSysId', 'Title as MTitle', 'FirstName as MFirstName', 'LastName as MLastName', 'Relation as MemberRel');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer"), $arrCustomer);
        if (!empty($mobilno)) {
            $select->where("tbl.Contacts = ?", $mobilno);
        }
        if (!empty($emailId)) {
            $select->where("tbl.EmailId = ?", $emailId);
        }
        if (!empty($salutation)) {
            $select->where("tbl.Title = ?", $salutation);
        }
        if (!empty($relation)) {
            $select->where("tbl.Relation = ?", $relation);
        }
        if (!empty($firstName)) {
            $select->where("tbl.FirstName = ?", $firstName);
        }
        if (!empty($lastName)) {
            $select->where("tbl.LastName = ?", $lastName);
        }
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        $select->where("tbl.IsApproved = ?", 1);
        //$select->where("tb2.Relation != ?", '');
        $select->where("tbl.AgencySysId = ?", $AgencySysId);
        //echo $select; exit;
        $result = $this->db->fetchAll($select);
        return $result;
    }
    // Added BY Er Amit Kumar Dubey for check self record exist or not
    public function getMembersSelfDetails($relation = NULL, $CustomerSysId = NULL, $AgencySysId)
    {

        $arrCustomer = array('CustomerSysId', 'EmailId', 'Title', 'Contacts', 'FirstName', 'LastName', 'Relation as customerRel', 'DOB as customerDOB', 'Address as customerAddress', 'CitySysId as customerCitySysId');
        $arrCustomerMember = array('MemberSysId', 'CustomerSysId as MCustomerSysId', 'Title as MTitle', 'FirstName as MFirstName', 'LastName as MLastName', 'Relation as MemberRel');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer_Members"), $arrCustomerMember);
        $select->joinLeft(array('tb2' => "TB_Agency_Customer"), "tbl.CustomerSysId = tb2.CustomerSysId", $arrCustomer);
        if (!empty($CustomerSysId)) {
            $select->where("tbl.CustomerSysId = ?", $CustomerSysId);
        }
        if (!empty($relation)) {
            $select->where("tbl.Relation = ?", $relation);
        }
        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        $select->where("tbl.IsApproved = ?", 1);
        $select->where("tbl.AgencySysId = ?", $AgencySysId);
        $select->order("tb2.FirstName ASC");
        $result = $this->db->fetchAll($select);
        return $result;
    }

    public function getCustomerDetails($CustomerSysId, $AgencySysId)
    {

        $arrCustomer = array('CustomerSysId', 'EmailId', 'Title', 'PinCode', 'Contacts', 'FirstName', 'LastName', 'Relation as customerRel', 'DOB as customerDOB', 'Address as customerAddress', 'CitySysId as customerCitySysId');
        $select = $this->db->select();
        $select->from(array('tbl' => "TB_Agency_Customer"), $arrCustomer);
        $select->joinLeft(array('tb2' => "TB_Master_Geo_City"), "tbl.CitySysId = tb2.CityId", array('Title as CityName'));

        $select->where("tbl.IsActive = ?", 1);
        $select->where("tbl.IsMarkForDelete = ?", 0);
        $select->where("tbl.CustomerSysId = ?", $CustomerSysId);
        $select->where("tbl.AgencySysId = ?", $AgencySysId);
        $result = $this->db->fetchRow($select);
        return $result;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit