util::json::Object ApiResponseGenerator<DataFacadeT>::SummarizeRoute(const InternalRouteResult &raw_route, const Segments &segment_list) const { util::json::Object json_route_summary; if (!raw_route.segment_end_coordinates.empty()) { const auto start_name_id = raw_route.segment_end_coordinates.front().source_phantom.name_id; json_route_summary.values["start_point"] = facade->get_name_for_id(start_name_id); const auto destination_name_id = raw_route.segment_end_coordinates.back().target_phantom.name_id; json_route_summary.values["end_point"] = facade->get_name_for_id(destination_name_id); } json_route_summary.values["total_time"] = segment_list.GetDuration(); json_route_summary.values["total_distance"] = segment_list.GetDistance(); return json_route_summary; }