Get Employees Trip Estimates
POSThttps://api.uber.com/v2/employees/trips/estimates
¶ Use case
Use this endpoint to get an estimated fare for a trip and to identify which products are available between a given trip origin and destination.
If the request is from a third party (3P) app, please add x-uber-organizationuuid header and the Organization UUID as the value or the request will be denied.
¶ Authorization
OAuth 2.0 Bearer token with the business.trips
scope.
¶ Request
¶ Example Request
curl -X POST \
-H "authorization: Bearer <access_token>" \
-H 'content-type: application/json' \
-d '{
"pickup":{
"latitude":40.7484,
"longitude":-73.9857
},
"dropoff":{
"latitude":40.750568,
"longitude":-73.993519
}
}' \
'https://api.uber.com/v2/employees/trips/estimates'
When using the sandbox environment, the request requires the x-uber-sandbox-runuuid
header with the run_id
as the value (e.g, -H "x-uber-sandbox-runuuid:<run_id>"
).
¶ Request body parameters
Name | Type | Required? | Description |
---|---|---|---|
x-uber-organizationuuid | header | Yes | Organization unique identifier |
customer.email | string | Yes | Registered email address of the employee with uber |
pickup.latitude | float | Yes** | Latitude of the starting location of the trip |
pickup.longitude | float | Yes** | Longitude of the starting location of the trip |
pickup.address | string | Yes** | Address of the starting location of the trip. |
pickup.place.place_id | string | Yes** | Place ID for ePUDO |
pickup.place.provider | string | Yes** | Place provider for ePUDO, e.g., “uber_places” or “google_places”. |
pickup.place.zone_id | string | No | Zone ID for ePUDO (optional) |
dropoff.latitude | float | Yes** | Latitude of the end location of the trip |
dropoff.longitude | float | Yes** | Longitude of the end location of the trip |
dropoff.address | string | Yes** | Address of the end location of the trip. |
dropoff.place.place_id | string | Yes** | Place ID for dropoff ePUDO |
dropoff.place.provider | string | Yes** | Place provider for dropoff ePUDO, e.g., “uber_places” or “google_places”. |
dropoff.place.zone_id | string | No | Zone ID for ePUDO (optional) |
scheduling.pickup_time | int | No*** | The timestamp (in milliseconds) the request is scheduled for |
scheduling.dropoff_time | int | No*** | The timestamp (in milliseconds) based on which pickup time is predicted for Uber Reserve trips |
flight.designator | string | No | Combination of Airline code and flight number to be associated with a Reserve Airport Pickup ride. Allowed format examples: UA131, UA-131, United 131, UA 131. In case of a codeshare flight, provide the details of the operating airline. |
flight.arrival_airport_code | string | No | IATA code for the airport where the flight is scheduled to land. Provide for a Reserve Airport Pickup ride |
flight.arrival_date | string | No | Flight arrival Date in yyyy-mm-dd format. Provide for a Reserve Airport Pickup ride |
**For pickup/dropoff objects, one of coordinate (latitude and longitude), address, or ePUDO place is required. *** For scheduling objects, either of pickup or dropoff time is required.
¶ Response
¶ Example response with fare
{
"etas_unavailable": false,
"fares_unavailable": false,
"product_estimates": [
{
"estimate_info": {
"fare": {
"currency_code": "USD",
"display": "$11.96",
"expires_at": 1558147984,
"fare_breakdown": [
{
"name": "Base Fare",
"type": "base_fare",
"value": 11.96
}
],
"fare_id": "6e642142-27b8-49df-82e0-3d4a8633e79d",
"value": 11.96
},
"fare_id": "6e642142-27b8-49df-82e0-3d4a8633e79d",
"pickup_estimate": 4,
"trip": {
"distance_estimate": 0.44,
"distance_unit": "mile",
"duration_estimate": 927,
"travel_distance_estimate": 0.45
}
},
"product": {
"advance_booking_type" : "SCHEDULED",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_x_bg.png",
"capacity": 4,
"description": "Affordable rides, all to yourself",
"display_name": "UberX",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_x_fg.png",
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"product_group": "uberx",
"product_id": "b8e5c464-5de2-4539-a35a-986d6e58f186",
"scheduling_enabled": true,
"shared": false,
"short_description": "UberX",
"upfront_fare_enabled": true,
"vehicle_view_id": 39,
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
}
},
{
"estimate_info": {
"fare": {
"currency_code": "USD",
"display": "$11.96",
"expires_at": 1558147984,
"fare_breakdown": [
{
"name": "Base Fare",
"type": "base_fare",
"value": 11.96
}
],
"fare_id": "c143d9ab-57c5-4d35-981f-7a356a2f22e9",
"value": 11.96
},
"fare_id": "c143d9ab-57c5-4d35-981f-7a356a2f22e9",
"pickup_estimate": 8,
"pricing_explanation": "Fares are higher due to increased demand",
"trip": {
"distance_estimate": 0.44,
"distance_unit": "mile",
"duration_estimate": 1178,
"travel_distance_estimate": 0.45
}
},
"product": {
"advance_booking_type" : "SCHEDULED",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_wav_bg.png",
"capacity": 4,
"description": "Wheelchair-accessible rides",
"display_name": "WAV",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_wav_fg.png",
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"product_group": "uberx",
"product_id": "3bca1cd3-df15-49d8-bd4f-93e014fc26ff",
"scheduling_enabled": true,
"shared": false,
"short_description": "WAV",
"upfront_fare_enabled": true,
"vehicle_view_id": 10000936,
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
}
},
{
"estimate_info": {
"fare": {
"currency_code": "USD",
"display": "$28.00",
"expires_at": 1574718553,
"fare_breakdown": [
{
"name": "Base Fare",
"type": "base_fare",
"value": 28
}
],
"fare_id": "bbdce077-4088-449e-a898-a34df5c293c4",
"value": 28
},
"fare_id": "bbdce077-4088-449e-a898-a34df5c293c4",
"no_cars_available": true,
"trip": {
"distance_estimate": 0.44,
"distance_unit": "mile",
"duration_estimate": 1126,
"travel_distance_estimate": 0.45
}
},
"product": {
"advance_booking_type" : "SCHEDULED",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_blackCar_bg.png",
"capacity": 4,
"description": "Premium rides in luxury cars",
"display_name": "Black",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_blackCar_fg.png",
"parent_product_type_id": "f1faedb7-5825-484f-b236-24e2cd95ec23",
"product_group": "uberblack",
"product_id": "0e9d8dd3-ffec-4c2b-9714-537e6174bb88",
"scheduling_enabled": true,
"shared": false,
"short_description": "Black",
"upfront_fare_enabled": true,
"vehicle_view_id": 4,
"reserve_info": {
"enabled": true,
"scheduled_threshold_minutes": 120,
"free_cancellation_threshold_minutes": 60
},
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"fulfillment_indicators": {
"request_blocker": {
"block_type": "NONE"
},
"availability_predictor": {
"predictor_result": "GREEN"
}
}
},
{
"estimate_info": {
"fare_id": "f9f5d23e-3148-4632-8f61-727f654a265e",
"fare": {
"fare_id": "f9f5d23e-3148-4632-8f61-727f654a265e",
"value": 135.32,
"currency_code": "USD",
"display": "$135.32",
"expires_at": 1698073761,
"fare_breakdown": [
{
"type": "base_fare",
"value": 135.32,
"name": "Base Fare"
}
],
"hourly": {
"tiers": [
{
"amount": 135.32,
"time_in_mins": 120,
"distance": 30,
"distance_unit": "mile",
"formatted_time_and_distance_package": "2 hrs/30 miles"
},
{
"amount": 195.32,
"time_in_mins": 180,
"distance": 45,
"distance_unit": "mile",
"formatted_time_and_distance_package": "3 hrs/45 miles"
},
{
"amount": 255.32,
"time_in_mins": 240,
"distance": 60,
"distance_unit": "mile",
"formatted_time_and_distance_package": "4 hrs/60 miles"
}
],
"overage_rates": {
"overage_rate_per_temporal_unit": 1.4,
"overage_rate_per_distance_unit": 3.55,
"temporal_unit": "TEMPORAL_UNIT_MINUTE",
"distance_unit": "mile",
"pricing_explainer": "Extra time will be charged to you at $1.40 per minute. Extra distance will be charged to you at $3.55 per mi."
}
}
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 2.71,
"duration_estimate": 0,
"travel_distance_estimate": 2.71
}
},
"product": {
"product_id": "aad1febe-9780-4b91-a92f-8f7c58d5cf54",
"display_name": "Black Hourly",
"description": "Luxury rides by the hour with professional drivers",
"short_description": "Black Hourly",
"product_group": "",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/haloProductImages/v1.1/Black_v1.png",
"upfront_fare_enabled": true,
"shared": false,
"capacity": 4,
"scheduling_enabled": true,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/haloProductImageBackgrounds/imageBackground@3x_v0.png",
"vehicle_view_id": 20035361,
"parent_product_type_id": "5354dad7-2f82-405b-b99a-9ff8acd70223",
"reserve_info": {
"enabled": true,
"scheduled_threshold_minutes": 120,
"free_cancellation_threshold_minutes": 60,
"add_ons": [],
"valid_until_timestamp": 1698097557000
},
"advance_booking_type": "RESERVE",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"fulfillment_indicators": {
"request_blocker": {
"block_type": "NONE"
},
"availability_predictor": {
"predictor_result": "GREEN"
}
}
},
...
]
}
¶ Example response with estimate
{
"fares_unavailable": false,
"etas_unavailable": false,
"product_estimates": [
{
"product": {
"advance_booking_type" : "SCHEDULED",
"product_id": "a1111c8c-c720-46c3-8534-2fcdd730040d",
"display_name": "UberX",
"description": "Affordable rides, all to yourself",
"short_description": "UberX",
"product_group": "uberx",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_x_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 4,
"scheduling_enabled": true,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_x_bg.png",
"vehicle_view_id": 8,
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "bf61912a-9a2d-48c1-8889-c464839e6eb0",
"pickup_estimate": 3,
"estimate": {
"display": "$13-16",
"low_estimate": 13,
"high_estimate": 16,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1140,
"travel_distance_estimate": 1.45
}
}
},
{
"product": {
"advance_booking_type" : "RESERVE",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_blackCar_bg.png",
"capacity": 4,
"description": "Premium rides in luxury cars",
"display_name": "Black",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_blackCar_fg.png",
"parent_product_type_id": "f1faedb7-5825-484f-b236-24e2cd95ec23",
"product_group": "uberblack",
"product_id": "0e9d8dd3-ffec-4c2b-9714-537e6174bb88",
"scheduling_enabled": true,
"shared": false,
"short_description": "Black",
"upfront_fare_enabled": true,
"vehicle_view_id": 4,
"reserve_info": {
"enabled": true,
"scheduled_threshold_minutes": 120,
"free_cancellation_threshold_minutes": 60,
"valid_until_timestamp": 1574718553,
},
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "bf61912a-9a2d-48c1-8889-c464839e6eb0",
"pickup_estimate": 3,
"estimate": {
"display": "$13-16",
"low_estimate": 13,
"high_estimate": 16,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1140,
"travel_distance_estimate": 1.45
}
},
"fulfillment_indicators": {
"request_blocker": {
"block_type": "NONE"
},
"availability_predictor": {
"predictor_result": "GREEN"
}
}
},
{
"product": {
"advance_booking_type" : "SCHEDULED",
"product_id": "57c0ff4e-1493-4ef9-a4df-6b961525cf92",
"display_name": "Select",
"description": "Premium rides in high-end cars",
"short_description": "Select",
"product_group": "uberx",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_select_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 4,
"scheduling_enabled": true,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_select_bg.png",
"vehicle_view_id": 2930,
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "e78b9da0-a59a-4d6e-92ee-f5bb241e5482",
"no_cars_available": true,
"estimate": {
"display": "$24-29",
"low_estimate": 24,
"high_estimate": 29,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1209,
"travel_distance_estimate": 1.45
}
}
},
{
"product": {
"advance_booking_type" : "SCHEDULED",
"product_id": "3bb777a3-7072-4d8c-a8b6-0cd9dcfe650e",
"display_name": "Comfort",
"description": "Newer cars with extra legroom",
"short_description": "Comfort",
"product_group": "",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/Taxi_Italy_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 4,
"scheduling_enabled": true,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_bag_x_bg.png",
"vehicle_view_id": 20017885,
"parent_product_type_id": "4cefa6a0-efb5-41dc-a8bb-870f2c3212ba",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "3320de14-43c9-4410-8418-8f82c23e2a90",
"no_cars_available": true,
"estimate": {
"display": "$17-21",
"low_estimate": 17,
"high_estimate": 21,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1209,
"travel_distance_estimate": 1.45
}
}
},
{
"product": {
"advance_booking_type" : "FLEXIBLE",
"product_id": "ff5ed8fe-6585-4803-be13-3ca541235de3",
"display_name": "Assist",
"description": "Special assistance from certified drivers",
"short_description": "Assist",
"product_group": "uberx",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_assist_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 4,
"scheduling_enabled": false,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_assist_bg.png",
"vehicle_view_id": 4651,
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "5f2ec6f2-4d24-442b-a2f9-481fd270e07b",
"no_cars_available": true,
"estimate": {
"display": "$13-16",
"low_estimate": 13,
"high_estimate": 16,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1209,
"travel_distance_estimate": 1.45
}
}
},
{
"product": {
"advance_booking_type" : "FLEXIBLE",
"product_id": "2832a1f5-cfc0-48bb-ab76-7ea7a62060e7",
"display_name": "WAV",
"description": "Wheelchair accessible rides",
"short_description": "WAV",
"product_group": "uberx",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_wav_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 4,
"scheduling_enabled": false,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_wav_bg.png",
"vehicle_view_id": 1930,
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "d460ec4a-3410-49c7-a0b9-a315b64e581f",
"no_cars_available": true,
"estimate": {
"display": "$13-16",
"low_estimate": 13,
"high_estimate": 16,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1209,
"travel_distance_estimate": 1.45
}
}
},
{
"product": {
"advance_booking_type" : "SCHEDULED",
"product_id": "821415d8-3bd5-4e27-9604-194e4359a449",
"display_name": "UberXL",
"description": "Affordable rides for groups up to 6",
"short_description": "UberXL",
"product_group": "uberxl",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_xl_fg.png",
"upfront_fare_enabled": false,
"shared": false,
"capacity": 6,
"scheduling_enabled": true,
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_xl_bg.png",
"vehicle_view_id": 942,
"parent_product_type_id": "60b76812-c307-4076-b83b-fcb36e75da07",
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
},
"estimate_info": {
"fare_id": "4897f607-f233-4987-94ec-4884ad20fff2",
"pickup_estimate": 5,
"estimate": {
"display": "$16-19",
"low_estimate": 16,
"high_estimate": 19,
"currency_code": "USD"
},
"trip": {
"distance_unit": "mile",
"distance_estimate": 1.41,
"duration_estimate": 1215,
"travel_distance_estimate": 1.45
}
}
},
...
]
}
¶ Response body parameters
Name | Type | Description |
---|---|---|
product_estimates | array | Array of product estimate objects containing all available products and corresponding fare estimates for the given route. |
product_estimates[].product | object | Root object containing product information. |
product_estimates[].estimate_info | object | Root object containing fare estimate information. |
product_estimates[].fulfillment_indicators | object | Aggregate information about product availability and request blockers. |
etas_unavailable | bool | True for scheduled/flexible rides or when etas are temporarily unavailable. Means estimate_info.pickup_estimate will be null for every product. |
fares_unavailable | bool | True when fare estimates are temporarily unavailable. See When fare estimates are unavailable below section for more information. |
Product Fields
Name | Type | Description |
---|---|---|
advance_booking_type | string | Specifies whether a trip is scheduled, reserve, or flexible. For on-demand requests, advance_booking_type will not be returned. |
product_id | string | Unique string identifier representing a specific product for a given latitude & longitude. For example, uberX in San Francisco will have a different product_id than uberX in Los Angeles |
display_name | string | Display name of product |
description | string | Description of product |
short_description | string | An abbreviated description of the product. Localized according to the Accept-Language header. |
product_group | string | The product group that this product belongs to. One of rideshare, uberx, uberxl, uberblack, suv or taxi. |
parent_product_type_id | string | ID of the product_group. Can be used in place of product_group to identify the top-level product type. |
image | string | Image URL representing the product |
background_image | string | URL for a background image that image can be overlaid on top of. |
scheduling_enabled | bool | Specifies whether this product supports scheduling rides in advance. |
upfront_fare_enabled | bool | Specifies whether this product allows upfront fares. |
shared | bool | Specifies whether this product allows for the pickup and dropoff of other riders during the trip. |
capacity | int | Capacity of product. For example, 4 people. |
reserve_info | object | Object containing reservation eligibility and details of reservation. |
cancellation.min_cancellation_fee | float | Specifies the minimum cancellation fee to be charged after the grace period ends for rider-initiated cancels. |
cancellation.cancellation_grace_period_threshold_sec | int | Specifies the number of seconds in which the rider is able to cancel, after a driver accepts the trip, without incurring any fee. |
estimate_info fields
Name | Type | Description |
---|---|---|
fare_id | string | Unique identifier of the fare estimate. |
pickup_estimate | int | The estimated time of vehicle arrival in minutes. null if ETAs are currently unavailable or when no_cars_available is true. |
no_cars_available | bool | True when there are currently no cars available at the pickup location. |
pricing_explanation | string | Explanation of the price. Will only be included when surge pricing is above a certain level. |
trip | object | Object with information about the trip. |
trip.distance_unit | string | Unit of distance used in the distance_estimate. Possible values are miles and km. |
trip.distance_estimate | float | Total is estimated based on haversine distance of the trip, either in miles or km as specified in the distance_unit. |
trip.duration_estimate | int | Total estimated time of the trip, in seconds. Can be null if fares are unavailable (see section below). |
trip.travel_distance_estimate | float | This is estimated based on turn-by-turn distance that may be covered during a trip, either in miles or km as specified in the distance_unit. |
trip.pickup_time | int | The estimated time of pickup in milliseconds. |
trip.dropoff_time | int | The estimated time of dropoff in milliseconds. |
fare | object | Root fare object containing the details of an upfront fare. Either a fare or estimate can be present, so you should be able to handle either. The fare object will be populated in geographies where upfront fares are enabled. Can be null if fares_unavailable in the root object is set to true. See below for more details. |
estimate | object | Root estimate object containing the details of a fare estimate. Either a fare or estimate can be present, so you should be able to handle either. The estimate object will be populated in geographies where upfront fares are disabled. Can be null if fares_unavailable in the root object is set to true. See below for more details. |
seat_count | int | Seat count in case of a shared ride. 0 in the case of non shared rides |
Estimate fields
Name | Type | Description |
---|---|---|
currency_code | string | ISO 4217 currency code. |
display | string | The price estimate range is displayable to the end user. |
low_estimate | int | Lower bound of the total estimate. |
high_estimate | int | Upper bound of the total estimate. |
Fare fields
Name | Type | Description |
---|---|---|
fare_id | string | A unique upfront fare identifier. |
value | float | The total upfront fare value. |
currency_code | string | ISO 4217 currency code used for all prices in this fare object. |
display | string | Formatted string of estimate in local currency. |
expires_at | int | The fare_id expiration as a Unix timestamp. |
fare_breakdown | array | A breakdown of the different parts of an upfront fare. |
fare_breakdown[].type | string | The type of breakdown this object represents. Can be base_fare or promotion. |
fare_breakdown[].value | float | The value of this portion of the fare. This can be a negative or positive value. |
fare_breakdown[].name | string | A string that can be displayed to the user representing this portion of the fare. |
fare_breakdown[].notice | string | A notice to show to the trip when a fare is higher than normal due to increased demand. |
hourly | object | This is used for hourly products. Root object containing hourly fare information. |
hourly.tiers | array | This is used for hourly products. Array of hourly tier objects containing pricing, time and distance information. See below for more details. |
hourly.overage_rates | object | This is used for hourly products. Object containing hourly overage rates. See below for more details. |
Hourly Tier fields
Name | Type | Description |
---|---|---|
amount | float | Price of this hourly tier. |
time_in_mins | int | Included time, in minutes, of this hourly tier. |
distance | int | Included distance of this hourly tier. |
distance_unit | string | Unit of distance used in distance . Possible values are mile and km . |
formatted_time_and_distance_package | string | Formatted string of hourly tier time and distance information, such as “2 hrs/30 miles”. |
Overage Rates fields
Name | Type | Description |
---|---|---|
overage_rate_per_temporal_unit | float | Overage rate per temporal unit. |
temporal_unit | string | Temporal unit used in overage_rate_per_temporal_unit . Possible values are TEMPORAL_UNIT_{YEAR,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND,MILLISECOND,MICROSECOND,NANOSECOND} . |
overage_rate_per_distance_unit | float | Overage rate per distance unit. |
distance_unit | string | Distance unit used in overage_rate_per_distance_unit . Possible values are mile and km . |
pricing_explainer | string | Formatted string of overage rates, such as “Extra time will be charged to you at $1.40 per minute. Extra distance will be charged to you at $3.55 per mi.”. |
reserve_info fields
Name | Type | Description |
---|---|---|
enabled | bool | Specifies whether this product supports Uber Reserve. |
scheduled_threshold_minutes | int | Specifies the number of minutes in advance the trip must be booked to be an Uber Reserve trip. |
free_cancellation_threshold_minutes | int | Specifies the number of minutes before the scheduled pickup time an Uber Reserve trip must be canceled for no cancellation fee. |
valid_until_timestamp | int | Specifies the timestamp until which if trip is requested, the ride would be considered a reserve ride. After the timestamp, it will be a scheduled ride. |
add_ons[] | array | Array of enum strings that specify any reservation feature addOns. eg. AIRPORT_PICKUP_WITH_FLIGHT_TRACKING indicates that the estimate provided is for a Reserve Airport Pickup trip. Flight details would be needed when creating a trip. |
fulfillment_indicators fields
Field | Type | Description |
---|---|---|
availability_predictor[].predictor_result | string | GREEN/YELLOW/RED/UNKNOWN. Color classification which indicates the confidence of a trip being fulfilled. UNKNOWN indicates that supply prediction is not available. |
request_blocker[].block_type | string | NONE/WARN/BLOCK. For Reserve rides, BLOCK indicates that the trip creation for the selected product, pickup time and location will not be allowed, but you can still request a Flexible ride. WARN indicates an upcoming block, you can reserve the ride. NONE indicates no block. |
¶ When fare estimates are unavailable
In rare scenarios, it’s possible for fare estimates to be temporarily unavailable.
This results in a 200 response with fares_unavailable
set to true
and within each product_estimate.estimate_info
, the fare
and estimate
will both be null (as well as the fare_id
and trip.duration_estimate
).
Hence, developers should handle this case to avoid any potential nil dereferences or unexpected errors.
Rides can still be requested without any of those fields, as the fare_id
is not strictly required.
Sometimes, a product will have "no_cars_available": true
. This means that this product type is not currently available for the given coordinates and a trip may not be fulfilled.
{
"etas_unavailable": false,
"fares_unavailable": true,
"product_estimates": [
{
"estimate_info": {
"estimate": null,
"fare": null,
"fare_id": null,
"pickup_estimate": 4,
"trip": {
"distance_estimate": 1.122,
"distance_unit": "mile",
"duration_estimate": null,
"travel_distance_estimate": 1.11
}
},
"product": {
"advance_booking_type" : "SCHEDULED",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_x_bg.png",
"capacity": 4,
"description": "Affordable rides, all to yourself",
"display_name": "UberX",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_x_fg.png",
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"product_group": "uberx",
"product_id": "b8e5c464-5de2-4539-a35a-986d6e58f186",
"scheduling_enabled": true,
"shared": false,
"short_description": "UberX",
"upfront_fare_enabled": true,
"vehicle_view_id": 39,
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
}
},
{
"estimate_info": {
"estimate": null,
"fare": null,
"fare_id": null,
"pickup_estimate": 4,
"trip": {
"distance_estimate": 1.12,
"distance_unit": "mile",
"duration_estimate": null,
"travel_distance_estimate": 1.11
}
},
"product": {
"advance_booking_type" : "SCHEDULED",
"background_image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImageBackgrounds/package_wav_bg.png",
"capacity": 4,
"description": "Wheelchair-accessible rides",
"display_name": "WAV",
"image": "https://d1a3f4spazzrp4.cloudfront.net/car-types/productImages/package_wav_fg.png",
"parent_product_type_id": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"product_group": "uberx",
"product_id": "3bca1cd3-df15-49d8-bd4f-93e014fc26ff",
"scheduling_enabled": true,
"shared": false,
"short_description": "WAV",
"upfront_fare_enabled": true,
"vehicle_view_id": 10000936,
"cancellation": {
"min_cancellation_fee": 5,
"cancellation_grace_period_threshold_sec": 120
}
}
},
...
}
¶ Terms and Conditions for Hourly Trips
- Tolls and surcharges: Any additional charges will be billed after your trip is complete.
- Non-refundable fare: You’ll be charged for the full cost of the ride, even if the trip is shorter than what you originally requested.
¶ Error Responses
HTTP Status Code | Code | Message |
---|---|---|
400 | validation_failed | Request.pickup.latitude is required |
403 | current_trip_exists | Trip estimates are not allowed while the user is currently on a trip. |
404 | no_product_found | Could not find a default product. |
422 | distance_exceeded | Distance between the start and end location exceeds 100 miles. |
422 | same_pickup_dropoff | Pickup and Dropoff can’t be the same. |
403 | user_not_allowed | The user is banned and is not permitted to request a ride. |
422 | outside_service_area | The destination is not supported by the requested product. |
422 | pickup_not_allowed | The pickup is not allowed |
422 | destination_not_allowed | The destination is not allowed |
400 | flight_not_found | Unable to find a matching flight |
400 | invalid_predicted_dropoff_time | Predicted dropoff time is longer than expected. |