public static function resolveNewSegmentFromActivity($token, $travel_data, $new_activity)
 {
     $iterinary = self::getUserCurrentIterinary($token);
     //        return $iterinary;
     if (!$iterinary || isset($iterinary['err'])) {
         $response = ['err code' => '403', 'message' => 'no current iterinaries found for user'];
         return $response;
     }
     //        dd($new_activity);
     $route = $iterinary->route;
     $last_activity = self::getLastActivity($token);
     //        return $last_activity;
     $segment = new Segment();
     //        return $last_activity;
     $segment->destination_name = $last_activity->place_name;
     $segment->origin_pos = $last_activity->lat . ',' . $last_activity->lng;
     $segment->details = $travel_data['transpo_details'];
     $segment->mode = $travel_data['mode'];
     $segment->day = self::getDiffInDays($token, $iterinary->id);
     $segment->origin_name = $new_activity['place_name'];
     $segment->destination_pos = $new_activity['lat'] . ',' . $new_activity['lng'];
     //        return $iterinary;
     $segment->price = $travel_data['expense'];
     $segment->sequence = $route->segments()->count() + 1;
     $points = array_merge([$last_activity->lat, $last_activity->lng], [$new_activity['lat'], $new_activity['lng']]);
     $segment->path = GeolocationHelper::encode($points);
     $segment->distance = GeolocationHelper::calculateDistance($segment);
     $segment->duration = GeolocationHelper::durationFromLastActivity($last_activity);
     $activity = new Activity();
     $activity->iterinary_id = $iterinary->id;
     $activity->day = self::getDiffInDays($token, $iterinary->id);
     $activity->end_time = Carbon::now()->toTimeString();
     $activity->start_time = $last_activity->created_at->toTimeString();
     // end activity
     // from end segment function
     //        $segment->destination_name = $destination_name;
     //        $segment->destination_pos = $lat . ',' . $lng;
     //        $segment->price = $price;
     //        $segment->distance = GeolocationHelper::calculateDistance($segment);
     //        $segment->duration = GeolocationHelper::calculateDuration($segment);
     //        $points = array_merge(GeolocationHelper::parseLongLat($segment->origin_pos), [$lng, $lat]);
     //
     //        $segment->path = GeolocationHelper::encode($points);
     //end from end segemtn function
     //        dd($segment);
     $route->segments()->save($segment);
     $segment->activity()->save($activity);
 }