Cities, Airports and Fare Quotes
Trip types
service_type |
Trip | Priced by |
|---|---|---|
local |
Point to point within a city, including airport transfers | Road distance between the two points |
hourly |
Car and driver by the hour in one city (2 to 12 hours) | Hours |
outstation-oneway |
City to city, drop only | The route between the two cities |
outstation-roundtrip |
City to city and back | The route and the number of days |
GET /cities
The cities a kind of trip can be quoted for.
| Parameter | Required | Description |
|---|---|---|
service_type |
yes | One of the trip types above |
from_city_id |
no | Outstation only: list the cities reachable from this city instead of the departure cities |
q |
no | Part of the city name |
curl "https://eazygo.in/api/agent/v1/cities?service_type=outstation-oneway&q=pun" \
-H "Authorization: Bearer $EAZYGO_API_KEY"
{
"success": true,
"data": [
{ "id": 133024, "name": "Pune", "state": "Maharashtra", "latitude": 18.5196, "longitude": 73.8553 }
]
}
For local and hourly the list is the cities EazyGo serves. For outstation trips it's the cities that have routes: departure cities without from_city_id, and the cities you can reach from that city with it.
GET /airports
Airports for local airport transfers. city_id (optional) narrows the list to one city.
{
"success": true,
"data": [
{ "id": 4, "name": "Pune International Airport", "iata_code": "PNQ", "city_id": 133024, "latitude": 18.5793, "longitude": 73.9089 }
]
}
POST /quotes
Every vehicle that can do the trip, cheapest first, with your agency's price.
| Field | Required | Description |
|---|---|---|
service_type |
yes | Trip type |
from_city_id |
yes | City the trip starts in (from GET /cities) |
to_city_id |
outstation | Destination city |
pickup_date |
yes | YYYY-MM-DD, IST |
pickup_time |
yes | HH:MM, 24-hour, IST |
return_date |
round trip | YYYY-MM-DD, on or after pickup_date |
return_time |
no | HH:MM |
hours |
hourly | 2 to 12 |
from_latitude, from_longitude |
local, hourly | The pickup point (not needed when the trip starts at an airport) |
to_latitude, to_longitude |
local | The drop point (not needed when the trip ends at an airport) |
from_location, to_location |
no | The addresses as text, shown on the booking |
airport_id, airport_side |
no | Local airport transfer: the airport (from GET /airports) and whether the trip starts (from) or ends (to) there |
from_latitude etc. for outstation |
no | Optional; outstation fares are per route |
Local fares depend on the road distance. EazyGo works it out from the coordinates, so send the points you will book with. When you book, the pickup (and, for local trips, the drop) must be within 3 km of the quoted points.
curl -X POST https://eazygo.in/api/agent/v1/quotes \
-H "Authorization: Bearer $EAZYGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service_type": "local",
"from_city_id": 133024,
"from_location": "Shivajinagar, Pune",
"from_latitude": 18.5308,
"from_longitude": 73.8475,
"airport_id": 4,
"airport_side": "to",
"pickup_date": "2026-11-20",
"pickup_time": "05:30"
}'
{
"success": true,
"data": {
"quote_token": "eyJpdiI6...",
"expires_at": "2026-11-18T11:02:00+05:30",
"trip": {
"service_type": "local",
"from_city_id": 133024,
"to_city_id": null,
"from_location": "Shivajinagar, Pune",
"to_location": "Pune International Airport",
"pickup_at": "2026-11-20T05:30:00+05:30",
"return_date": null,
"hours": null,
"airport_id": 4,
"airport_side": "to",
"distance_km": 12.4
},
"wallet_available": 15000,
"options": [
{
"vehicle_category": { "id": 2, "name": "Sedan", "max_passengers": 4 },
"included_km": 15,
"extra_km_rate": 14,
"public_total": 735,
"price": {
"public_fare": 700,
"agency_commission": 70,
"taxable": 630,
"gst_rate": 5,
"gst": 31.5,
"total": 661.5
}
}
]
}
}
What the amounts mean
price.totalis what your wallet is charged: the public fare, less your agency commission, plus GST.public_totalis the public price with GST, for comparison. What you charge your passenger is up to you.included_kmis the distance the fare covers. Beyond it, the driver charges the passengerextra_km_rateper km at the end of the trip. That amount isn't charged to your wallet. Hourly rentals have no extra km.
Things to know
- A
quote_tokenis valid for 30 minutes and only for your agency. After that, ask for a new quote. - Pickups need notice: by default at least an hour from now, and some airports need more. Too early a pickup returns
PICKUP_TOO_SOONwith the earliest allowed time in the message. - If no vehicle can do the trip, the answer is
NO_VEHICLES.