为什么 /v1.2/requests/estimate 前期票价不匹配 total_fare(不考虑最低价格)

Why doesn't /v1.2/requests/estimate upfront fare match total_fare (doesn't account for minimum price)

为什么 Uber Rides Python SDK (API v1.2) client.estimate_ride 预付费用与 ride_receipt 的 total_fare 不一致?

  1. 不考虑最低 UberPool 拼车价格。
  2. 显示价格 4.80 美元对比小计 5.45 美元,尽管取件和目的地没有改变

UberPool 最低 7 美元的示例:

client.estimate_ride 返回

u'price': {
  u'display': u'.80',
  u'fare_breakdown': [],
  u'fare_id': u'REMOVED BY OP',
  u'high_estimate': 7,
  u'low_estimate': 4,
  u'minimum': None},
u'product_id': u'ee3ab307-e340-4406-b5ec-9f8c3b43075a',

8 秒后,我使用 client.request_ride 请求搭车,其中包括 product_id 和 fare_id。 ride_receipt 显示有最低票价。

{u'charge_adjustments': [{u'amount': u'1.55',
   u'name': u'Booking Fee',
   u'type': u'booking_fee'}],
 u'charges': [{u'amount': u'1.75',
   u'name': u'Base Fare',
   u'type': u'base_fare'},
  {u'amount': u'1.66', u'name': u'Distance', u'type': u'distance'},
  {u'amount': u'0.88', u'name': u'Time', u'type': u'time'},
  {u'amount': u'1.16', u'name': u'.00 Minimum', u'type': u'minimum'}],
 u'currency_code': u'USD',
 u'distance': u'2.22',
 u'distance_label': u'miles',
 u'duration': u'00:08:47',
 u'normal_fare': u'.45',
 u'request_id': u'REMOVED BY OP',
 u'subtotal': u'.45',
 u'surge_charge': None,
 u'total_charged': u'.00',
 u'total_fare': u'.00',
 u'total_owed': None}

看起来您实际上并不是在 upfront_fare_enabled 产品上调用 /v1.2/requests/estimate。如果您请求预付票价的实际估算,您将获得准确的价格,而不是您的示例 json.

中所示的估算

对于非预付票价,估算端点将return估算价格而非保证票价。

如 /products 中的 'upfront_fare_enabled' 键所示,启用产品的 'upfront_fare' 成本不会改变(除非目的地发生变化)。

(代表OP发表).

升级到 uber-rides-0.3.1 以升级到优步的 v1.2 api。