display posts of custom post type with custom taxonomy

I would use “get_the_terms” to get the terms related to the post instead of “get_terms”, here is a quick suggestion (not tested)

    $args=array(  
        'post_type'=>'tour_package',                 
        'post__not_in' => array(get_the_ID()),
        'posts_per_page'=> 5, 
        'caller_get_posts'=>1,//handle sticky post but not in first
    ); 

    $categories = get_the_terms( get_the_ID(),'tour_category' );

    if ($categories)
            {   
                $category_ids = array();         
                foreach($categories as $individual_category){
                   $category_ids[] = $individual_category->term_id; 
                }
                if(!empty($category_ids))
                {

                    $args['tax_query']= array(
                        array(
                            'taxonomy' => 'tour_category',
                            'field'    => 'term_id',
                            'terms'    => $category_ids,
                        ),
                    );
                }
            }
$query = new WP_Query( $args );