Plan your Holidays

From Wiki

Jump to: navigation, search

Contents

Short story

A person (the customer) wants to spend his holidays in a specific region in the world. For this purpose, he intends to rent an apartment or a house.

The customer possible activities are defined as bellow:

  1. register for an account;
  2. login/logout from his account;
  3. manage his account: edit personal data;
  4. search for an object (apartment or house);
  5. mark/unmark the object as "wanted for rent";
  6. watch the history of all his rented objects;
  7. delete his account.


Another person, agency, company, etc (the owner) has objects (houses, apartments) which are available for rent. All these objects can be registered into the DB, this way they become available for searches.

The owner can perform the following operations:

  1. register for an account:
  2. login/logout from his account;
  3. manage his account: edit personal data;
  4. add/delete/modify an object (house or apartment);
  5. mark object as free or rented (and specify the period);
  6. delete his account.


Information in the Database

The database contains information about the users and objects. The main difference between users is their account type: customer or owner. This difference is stored as a field specifying the user type, which is chosen when a user register for a new account. This type cannot be changed after registration.

Some informations regarding a user must be stored: name, city, address, country, region, birth date, registration date, account type, telephone, mail, www.

The following example is a possible entry regarding an user:

name: John Doe
city: Cottbus
address: Karl Marx Strasse, 13
country: Germany
region: Brandenburg
birth date: 11.08.1978
registration date: 21.09.2008
account type: owner
telephone: 017696586781
mail: john@doe.com
www: http://www.myJohn.com


Objects (houses,apartments) are defined by: type, city, address, country, region, renovated, price per day, backyard, grill, tennis table, pictures, available for rent, available start date, price is negotiable, stars level.

The following example is a possible entry of an object (house apartment):

type: house
city: Potsdam
address: Tomber Strasse, 54
country: Germany
region: Brandenburg
renovated: no
price per day: 120
backyard: yes
grill: yes
tennis table: yes
pictures: pic1.jpg, pic2.jpg, pic3.jpg
available for rent: yes
available start date: 15.09.2008
price is negotiable: yes
stars level: 3

Attention: if you use MySQL or PostgreSQL databases in place of JBoss Hibernate, a new field is needed (i.e. ID) for unique identify each entry.


The application's GUI and supported activities

Depending of the authenticated user type, there are two possible situations:

The customer sees a search form where he can complete the following fields:

  • the type of the object (house or apartment);
  • the city, the country and the region where the object must be;
  • select options for the object (such as grill, tennis table, etc);
  • the minimum level of stars (one star, two stars, etc);
  • the start date for rent;
  • the end date for rent;
  • only objects having pictures (or not);
  • renovated status;
  • only objects having negotiable price;
  • the start price and the end price (if not set, all prices are considered)

After search, the customer can see a list of objects, and clicking on an object he can see object's details. At this level, if the object is available for the specified period, the customer has two options: mark the object as rent or cancel the rent (if already rented by him).

Additionally, the user can also see all his rented objects until now. For the active rented objects, he has the option to cancel the rent.

The owner can manage his objects: add, edit, delete. Additionally, he can see a list of all his objects, and for each object can see details about customer (such as the telephone number, e-mail address, name and age) if the object is currently marked as rent. The owner cannot delete an object which is already marked as rent.


Possible improvements

Some improvements are possible for this application:

  • an e-mail can be send to the object's owner announcing him that the object was rented. The mail may contains details about the customer;
  • the customer might not cancel the rent with less than 5 days before the starting date of the rent;
  • the owner must approve the rent;
  • ranks might be assigned to users, and this might affect their credibility (for example an user has canceled half of its requests for rent, and so on);
  • the Google Maps API[1] can be used to see the object's position on the map. For this information about objects must be extended with: latitude and longitude.


Implementation Requirements

References

  1. Google Maps API
Personal tools