This documentation provides details for a Bus Service API that includes account management, bus operations, and route management.
The API uses JWT Bearer token authentication.
- URL:
/api/account/register - Method: POST
- Request Body:
{ "username": "string", // required "email": "string", // required, email format "password": "string" // required, min length: 8, uppercase, symbol, numeric }
- URL:
/api/account/login - Method: POST
- Request Body:
{ "username": "string", // required "password": "string" // required }
- URL:
/api/account/confirm - Method: GET
- Query Parameters:
- UserId: string
- Token: string
- URL:
/api/account/test-email - Method: GET
- URL:
/api/bus/{id} - Method: GET
- Path Parameters:
- id: integer
- URL:
/api/bus/create - Method: POST
- Request Body:
{ "busNumber": "string", "capacity": integer, "routeId": integer, "departureTime": "datetime", "arrivalTime": "datetime" }
- URL:
/api/bus/getAll - Method: GET
- Response: Array of Bus objects
- URL:
/api/bus/update/{id} - Method: PUT
- Path Parameters:
- id: integer
- Request Body:
{ "busNumber": "string", "capacity": integer, "departureTime": "datetime", "arrivalTime": "datetime", "routeId": integer }
- URL:
/api/bus/delete/{id} - Method: DELETE
- Path Parameters:
- id: integer
- URL:
/api/route/getall - Method: GET
- Response: Array of Route objects
- URL:
/api/route/{id} - Method: GET
- Path Parameters:
- id: integer
- URL:
/api/route/create - Method: POST
- Request Body:
{ "origin": "string", "destination": "string", "price": number, "duration": "string", "image": "string", "description": "string", "distance": "string", "buses": [ { "busNumber": "string", "busModel": "string", "capacity": number, "departureTime": "datetime", "arrivalTime": "datetime" } ] }
- URL:
/api/route/update/{id} - Method: PUT
- Path Parameters:
- id: integer
- Request Body:
{ "origin": "string", "destination": "string", "price": "string" }
- URL:
/api/route/delete/{id} - Method: DELETE
- Path Parameters:
- id: integer
- URL:
/api/route/search - Method: GET
- Query Parameters:
- Origin: string
- Destination: string
- URL:
/api/user/delete - Method: DELETE
{
"busId": integer,
"routeId": integer,
"busNumber": "string",
"capacity": integer,
"departureTime": "datetime",
"arrivalTime": "datetime"
}{
"routeId": number,
"origin": "string",
"destination": "string",
"price": number,
"duration": "string",
"image": "string",
"description": "string",
"distance": "string",
"createdAt": "datetime",
"updatedAt": "datetime",
"buses": [
{
"busId": number,
"routeId": number,
"busNumber": "string",
"busModel": "string",
"capacity": number,
"seatsRemaining": number,
"bookedSeats": array,
"availableSeats": array,
"departureTime": "datetime",
"arrivalTime": "datetime"
}
]
}