wiki:UseCase0010

Use-case 0010 - Browse Properties

Initiating actor: Client

Other actors: None

Description:

A client browses apartment units by first selecting a building, then viewing its floors, and finally exploring individual units. They can view details, images, and pricing information for each unit.

Scenario:

  1. Client accesses the property listing page.
  1. System displays all buildings:
    SELECT 
        building_id,
        name,
        address,
        description
    FROM building
    ORDER BY name;
    
  1. Client sees a list of buildings with their names, addresses, and brief descriptions.
  1. Client clicks on "Golden Tower" building.
  1. System displays the building details and all its floors:
    SELECT 
        b.building_id,
        b.name AS building_name,
        b.address,
        b.description,
        a. full_name AS architect_name,
        f.floor_id,
        f.floor_number,
        f.layout_image
    FROM building b
    LEFT JOIN designs d ON b.building_id = d.building_id
    LEFT JOIN architect a ON d.architect_id = a.architect_id
    JOIN floor f ON b.building_id = f.building_id
    WHERE b.name = 'Golden Tower'
    ORDER BY f.floor_number;
    
  1. Client sees building information and a list of floors with their images.
  1. Client clicks on "Floor 2".
  1. All units on Floor 2 are displayed with minimal information:
    SELECT 
        u.unit_id,
        u.unit_number,
        u.room_number,
        u.floor_area,
        u.price,
        u.status,
        u.image
    FROM unit u
    WHERE u.floor_id = (
        SELECT floor_id 
        FROM floor 
        WHERE building_id = (SELECT building_id FROM building WHERE name = 'Golden Tower')
        AND floor_number = 2
    )
    ORDER BY u.unit_number;
    
  1. Client sees a list of units showing their respective minimal information: unit number, room count, area, price, status, and thumbnail image.
  1. Client clicks on "Unit 201" to view full details.
  1. System displays complete unit information:
    SELECT 
        u. unit_id,
        u. unit_number,
        u. room_number,
        u. floor_area,
        u. price,
        u.status,
        u.image,
        u.floorplan,
        u.vector_image
    FROM unit u
    JOIN floor f ON u.floor_id = f. floor_id
    JOIN building b ON f.building_id = b. building_id
    WHERE u.unit_number = '201'
    AND f.floor_number = 2
    AND b.name = 'Golden Tower';
    
  1. Client views all images, floorplan, building description, architect information, and pricing details.
  1. Client can navigate back to floor view, building view, or click a button to inquire about the unit that is being displayed.
Last modified 27 hours ago Last modified on 01/07/26 23:13:08
Note: See TracWiki for help on using the wiki.