docs: def estimate_ride(
          self,
          product_id=None,
          start_latitude=None,
          start_longitude=None,
          start_place_id=None,
          end_latitude=None,
          end_longitude=None,
          end_place_id=None,
          seat_count=None,
      ):
          """Estimate ride details given a product, start, and end location.
  
          Only pickup time estimates and surge pricing information are provided
          if no end location is provided.
  
          Parameters
              product_id (str)
                  The unique ID of the product being requested. If none is
                  provided, it will default to the cheapest product for the
                  given location.
              start_latitude (float)
                  The latitude component of a start location.
              start_longitude (float)
                  The longitude component of a start location.
              start_place_id (str)
                  The beginning or pickup place ID. Only "home" or "work"
                  is acceptable.
              end_latitude (float)
                  Optional latitude component of a end location.
              end_longitude (float)
                  Optional longitude component of a end location.
              end_place_id (str)
                  The final or destination place ID. Only "home" or "work"
                  is acceptable.
              seat_count (str)
                  Optional Seat count for shared products. Default is 2.
  
  
          Returns
              (Response)
                  A Response object containing fare id, time, price, and distance
                  estimates for a ride.
          """
          args = {
              'product_id': product_id,
              'start_latitude': start_latitude,
              'start_longitude': start_longitude,
              'start_place_id': start_place_id,
              'end_latitude': end_latitude,
              'end_longitude': end_longitude,
              'end_place_id': end_place_id,
              'seat_count': seat_count
          }
  
          return self._api_call('POST', 'v1.2/requests/estimate', args=args)