Route options β€”
Booking add-on β€”
Journey feedback β€”
Live routes β€”

Getting started

Route-first guide

1

Explore routes

Go to the Routes page and compare source, destination, fare, and travel time.

2

Read the journey

Use stops and travel duration to understand how the route moves before booking anything.

3

Book as a bonus

If you like a route, jump to Bookings and reserve a seat quickly.

4

Leave feedback

After your trip, share your experience on the Feedback page.

5

Explore the API

Check API Examples if you want to test endpoints directly.

Preview

Route highlights

View all β†’

Loading route highlights...

Suggested searches

Start with an example

Simple path

How to search

  1. Choose a preset or type the cities yourself.
  2. Press search to load matching routes or demo data.
  3. Use a route card to move straight into booking.

Ready β€” search or load demo data to begin.

No routes loaded yet

Pick a suggested search, click Load Demo Data, or search manually to preview routes.

New Booking

Reserve a Seat

History

Booking Records

Create a booking or click Load Bookings to view existing ones.

New Feedback

Submit a Review

History

All Feedback

Submit feedback or click Load Feedback to see reviews.

Admin access

Sign in only for protected actions

Normal users can browse routes, bookings, and feedback without logging in. Admin sign-in belongs here, next to the protected API examples, not at startup.

πŸ—ΊοΈ Routes API

/routes
GET /routes?page=0&size=10 Get all routes (paginated)

Returns a paginated list of all transport routes.

Example Response
{
  "content": [
    {
      "id": 101,
      "routeName": "City Connector",
      "source": "Pune",
      "destination": "Mumbai",
      "fare": 250,
      "travelDurationMinutes": 180,
      "availableSeats": 24,
      "active": true,
      "stops": [
        { "stopName": "Hinjewadi", "stopOrder": 1 },
        { "stopName": "Swargate", "stopOrder": 2 }
      ]
    }
  ],
  "totalElements": 1,
  "totalPages": 1
}
GET /routes/search?source=Pune&destination=Mumbai Search routes by source & destination

Filter routes by matching source and/or destination city.

GET /routes/{id} Get a specific route by ID

Returns full route details including all stops.

POST /routes Create a new route

Creates a new transport route. Requires admin access.

Request Body
{
  "routeName": "Express Line",
  "source": "Delhi",
  "destination": "Agra",
  "fare": 350,
  "travelDurationMinutes": 240,
  "availableSeats": 30,
  "active": true,
  "stops": [
    { "stopName": "Noida", "stopOrder": 1 },
    { "stopName": "Mathura", "stopOrder": 2 }
  ]
}

πŸ“‹ Bookings API

/bookings
GET /bookings Get all bookings

Returns all booking records in the system.

POST /bookings Create a booking

Books seats on a specific route for a user.

Request Body
{
  "userId": 1,
  "routeId": 101,
  "travelDate": "2026-09-15",
  "seatCount": 2
}
DELETE /bookings/{id} Cancel a booking

Cancels an existing booking by its ID.

πŸ’¬ Feedback API

/feedbacks
GET /feedbacks Get all feedback

Returns all user feedback entries.

POST /feedbacks Submit feedback

Submits a new rating and comment.

Request Body
{
  "userId": 1,
  "routeId": 101,
  "rating": 5,
  "comments": "Excellent service, very punctual!"
}

πŸ‘€ Users API

/users
POST /users/register Register a new user

Creates a new user account.

Request Body
{
  "fullName": "John Doe",
  "email": "john@example.com",
  "phoneNumber": "9876543210",
  "password": "securePass123"
}
POST /users/login Login / authenticate

Authenticates a user by email and password.

Request Body
{
  "email": "student@example.com",
  "password": "password123"
}
GET /users/{userId} Get user details

Returns user profile information.

POST /users/{userId}/favourites/{routeId} Add route to favourites

Adds a route to the user's saved favourites list.

GET /users/{userId}/favourites Get favourite routes

Lists all routes saved as favourites by this user.

πŸ”’ Admin API

/admin
GET /admin/dashboard Dashboard statistics

Returns total users, routes, bookings, feedbacks, and booking status counts.

GET /admin/bookings?page=0&size=10 All bookings (paginated)

Admin-level paginated view of all bookings in the system.

πŸ“ Stops API

/routes/{routeId}/stops
GET /routes/{routeId}/stops Get all stops for a route

Returns all intermediate stops on a specific route.

POST /routes/{routeId}/stops Add a stop to a route

Adds a new intermediate stop to the route.

Request Body
{
  "stopName": "Lonavala",
  "stopOrder": 3,
  "arrivalTime": "10:30",
  "departureTime": "10:35"
}
PUT /routes/{routeId}/stops/{stopId} Update a stop

Updates the name, order, or timing of an existing stop.

DELETE /routes/{routeId}/stops/{stopId} Delete a stop

Removes a stop from the route.