func uberAPI(carRes *structure.CarResponse, tripData structure.DataStorage, startLat float64, startLng float64, endLat float64, endLng float64) {
	minPrice := 0
	// Server token should be kept safe from others
	serverToken := "PLEASE PUT YOUR OWN SERVER TOKEN HERE"
	urlLeft := "https://api.uber.com/v1/estimates/price?"
	urlRight := "start_latitude=" + strconv.FormatFloat(startLat, 'f', -1, 64) + "&start_longitude=" + strconv.FormatFloat(startLng, 'f', -1, 64) + "&end_latitude=" + strconv.FormatFloat(endLat, 'f', -1, 64) + "&end_longitude=" + strconv.FormatFloat(endLng, 'f', -1, 64) + "&server_token=" + serverToken
	urlFormat := urlLeft + urlRight
	var userrequest structure.UserRequest

	getPrices, err := http.Get(urlFormat)
	if err != nil {
		fmt.Println("Get Prices Error", err)
		panic(err)
	}

	var data structure.UberAPIResponse
	index := 0

	json.NewDecoder(getPrices.Body).Decode(&data)

	minPrice = data.Prices[0].LowEstimate
	for i := 0; i < len(data.Prices); i++ {
		if minPrice > data.Prices[i].LowEstimate {
			minPrice = data.Prices[i].LowEstimate
			index = i
		}
		userrequest.Product_id = data.Prices[index].ProductID
	}

	urlPath := "https://sandbox-api.uber.com/v1/requests"
	userrequest.Start_latitude = startLat
	userrequest.Start_longitude = startLng
	userrequest.End_latitude = endLat
	userrequest.End_longitude = endLng
	// accessToken cannot be told to others, therefore I leave this line empty
	accessToken := "PLEASE PUT YOUR OWN ACCESSTOKEN HERE"
	requestbody, _ := json.Marshal(userrequest)
	client := &http.Client{}
	req, err := http.NewRequest("POST", urlPath, bytes.NewBuffer(requestbody))
	if err != nil {
		fmt.Println(err)
		return
	}
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("Authorization", "Bearer "+accessToken)
	res, err := client.Do(req)
	if err != nil {
		fmt.Println("QueryInfo: http.Get", err)
		return
	}
	defer res.Body.Close()

	body, err := ioutil.ReadAll(res.Body)
	uberRes := structure.UberResponse{}
	json.Unmarshal(body, &uberRes)

	fmt.Println(uberRes)

	carRes.Uber_wait_time_eta = uberRes.Eta
}