RE_UC1 - luist18/feup-aeda-proj GitHub Wiki

Use case 1: Manage Provided Vehicles

Description

Actors who provide vehicles for others to rent, such as the clients or the company itself, called "Providers" from now on (as seen in the actors hierarchy diagram), should be able to manage their list of vehicles, as well as single vehicle's specifications. These operations being the addition and removal of vehicles from their personal list, state a vehicle as ready, or not, for rental, and tweak of rental specifications of a given vehicle, such as changing the rental price or the available rental period.

Actors

Primary actor

  • Provider

Stakeholders

  • Provider
  • Renter

Pre-conditions

The user must be logged in a provider account, this is, a Company or Client.

Success guarantees

The specific vehicle information changes.

Steps

  1. The provider requests the management of the vehicles.
  2. The system asks what the provider wishes to do.

From now on three paths can be taken, each one of them is described below.

Addition of a vehicle

  1. The provider chooses to add a vehicle to their personal list.
  2. The system asks for the type of vehicle.
    1. The provider chooses passenger vehicle.
      1. The system asks for the quantity of seats.
      2. The provider inserts the quantity of seats.
    2. The provier chooses commercial vehicle.
      1. The system asks for the max volume and weight.
      2. The provider inserts the max volume and weight.
      3. The system asks if the vehicle is refrigerated.
      4. The provier inserts if the vehicle is refrigerated.
  3. The system shows the vehicle information and requests confirmation.
  4. The provider confirms.
  5. The system adds the vehicle to the provider's personal list.

Removal of a vehicle

  1. The provider chooses to remove a vehicle from their personal list.
  2. The system shows the list of vehicles and requests a vehicle to remove.
  3. The provider chooses the vehicle.
  4. The system removes the vehicle from the provider's personal list.

Edition of vehicle preferences

  1. The provider chooses to edit a vehicle preferences.
  2. The system shows the list of vehicles and requests one.
  3. The provider chooses a vehicle.
  4. The system asks if the provider wants to change its rental conditions, allowed rental schedule or rental price.
    1. The provider chooses to change the vehicle's rental conditions.
      1. The vehicle is not up to rent.
        1. The provider sets it up to rent.
      2. The vehicle is up to rent.
        1. The providers removes it from up to rent.
    2. The provider chooses to change its rental schedule.
      1. The system requests a new schedule.
      2. The provider inserts the new schedule.
    3. The provider chooses to change its rental price.
      1. The system requests a new price.
      2. The providers inserts the new price.
  5. The system validates the new specification and updates the vehicle's condition.

Note: If the specific vehicle has contracts made with a renter at the time of edition, these contracts stay up, only future rentals will be affected.

Variations

The provider wishes to cancel the use case.

The use case is aborted.

Addition of a vehicle

4.1.2. The input quantity is incorrect.

The system requests for the quantity of seats once again (step 4.1.1.).

4.2.2. The input is incorrect.

The system requests new max volume and weight (step 4.2.1.).

4.2.4 The input is incorrect.

The system asks again if the vehicle is refrigerated (step 4.2.3.).

5 . The vehicle is invalid.

The addition is aborted and the system asks what the provider wishes to do (step 2.).

6 . The provider does not confirm.

The addition is aborted and the system asks what the provider wishes to to (step 2.).

Removal of a vehicle

5 . The vehicle is invalid or requested cancellation.

The removal is aborted and the system asks what the provider wishes to do (step 2.).

Edition of preferences

5 . The vehicle is invalid.

The system shows the list of vehicles and requests one (step 4.).

5.2.2. The schedule is invalid.

The system requests a new schedule (step 5.2.1.).

5.3.2. The price is invalid.

The system requests a new price (step 5.3.1.).

5.6. The new specifications are invalid.

The edition is aborted and the system asks what the provider wishes to do (step 2.).

Issues

  • n/a