Simple taxi booking api
Project description
super-taxi-api
Simple api for taxi booking named as super-taxi
Dependencies
Installing
To install the api execute below command
pip install super-taxi-api
If you want to install from test org, for development mode use below
pip install -i https://test.pypi.org/simple/ super-taxi-api
Running
To run with rest api tick option which update system service time, Execute below in terminal to start the api
super-taxi-api
To run with system clock enable. This will internally start a clock which update the time tick
super-taxi-api --clock
APIs
Rest apis for book a taxi
POST /api/book
Pick the nearest available car to the customer location and return the total time taken to travel from the current car location to customer location then to customer destination.
- Request payload
{
"source": {
"x": 0,
"y": 0
},
"destination": {
"x": 2,
"y": 3
}
}
- Response payload
{
"car_id": 1,
"total_time": 10
}
- All car are available initially, and become booked once it is assigned to a customer. It will remain booked until it reaches its destination, and immediately become available again.
- In the event that there are more than one car near the customer location, your service should return the car with the smallest id.
- Only one car be assigned to a customer, and only one customer to a car.
- Cars can occupy the same spot, e.g. car 1 and 2 can be at point (1, 1) at the same time.
- If there is no available car that can satisfy the request, your service should return an empty response, not an error
POST /api/tick
Advance service time by 1 time unit
PUT /api/reset
reset all cars data back to the initial state regardless of cars that are currently booked.
For test the service use basic_solution_checker.py
python3 basic_solution_checker.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for super_taxi_api-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b84a56ab3fe5e9e5c7ad578771eacf59d656a29d90961103eb23f8eebef1aa0b |
|
MD5 | 9ce043be8545f5c94d94143f6e61a415 |
|
BLAKE2b-256 | 414991a8ad777f0f8e7ccca687fdb15d39a4222754f8162c86bb11ef80797a78 |