User Interface Specifications

Metro Rex Phase IIa Build

User Interface Specifications 1

Metro Rex Phase IIa Build 1

Executive Summary 2

Overview 2

About This Document 2

Non-Technical Requirements 2

Current Site 2

Current Database 3

Site Prototype 3

Other Considerations 3

Data Needs 4

Overview 4

Location Information 4

Member Information 5

Listing Information 6

Site Pages 7

Overview 7

Error Messages 7

Pageanation 7

Recognition Bar 8

Search (Public) Listings Function 8

List of Search Results 9

List Detail 10

Contact Form 11

Member Sign Up Form 11

Log In Function 11

Forgot Username 12

Super Admin Log in 12

Control Panel 12

Add / Edit Listing 13

Add Photo 14

Print Listings 14

Search Co-Brokes 15

Co-Broke Detail 15

Edit Profile 16

Super Control Panel 16

Super control Panel : View Listings 17

View Stats 18

Add / Edit Areas 18

Non-Functional Pages 19

Executive Summary

Overview

Metro Rex is a real estate exchange currently serving the greater Boston area. The site allows real estate listing agents who have signed up as members to post and manage listings of apartments they have for rent. The general public can then search those listings and call the agent directly. Likewise, other brokers can search for “shared” co-broke listings and call the agent directly. The site is free to use right now, but we will soon be offering the service to brokers on a paid 6-month subscription basis. The general public can always search the site for free.

About This Document

This user interface specification is intended to describe the way that the site needs to work. This document does not address the technical specifications necessary to build the database or technical components of the site. As such, it does not address how the site should be built, but rather what needs to happen on the site.

Non-Technical Requirements

We are assuming the following about site hosting and usage:

·  the site will be built in php

·  a mySQL database will house all site data

·  the site will be hosted at iPowerWeb (http://www.ipowerweb.com/products/webhosting/index.html)

·  there will be about 100 – 500 registered users in the db

·  there will be 100 – 3000 apartment listings in the db

·  there may be 20 or so simultaneous site users

·  there may be up to 500 site users in a day

·  cookies are acceptable to use

·  the site needs to maintain a fair level of security, especially around superadmin screens

Current Site

The current web site www.metrorex.com was built as an unscalable version of what the new site will be. The site was built in asp using an Access database. Most of the functionality of the new phase II site will be the same as the functionality of the current site. However, some basic updates to the information architecture and functionality have been made to the prototype and are detailed in this document.

Current Database

The current database is a Microsoft Access database. It is our somewhat uninformed opinion that the overall design and structure of the database tables is insufficient. We will look to the site developer to design a better database structure in mySQL. This document will provide all fields needed for the database.

For launch, we will need to move all of the data in the current Access database into the new mySQL database. The site developer will be provided with the current access db file, and will be responsible for ensuring that all data is moved properly into the new database. We would like to view and approve a database diagram for the new site before implementation begins.

Site Prototype

Everything discussed in this document is referencing a prototype of the new web site as desired. The prototype contains all screens and pages of the site as they need to appear on the final web site. There is no database, scripting or business logic of any kind on the prototype; all pages are purely static pages with dummy representational data on each page. (The only two exceptions are javascript buttons to get the correct page href and php includes for common header, footer and some form elements.)

The prototype can be found at http://www.jasonlevin.com/mrexiia/ . All files will be made available to the selected vendor.

The prototype was built by a front-end design person with some very limited knowledge of back-end coding and no knowledge of database design. Technical decisions such as file format, scripting languages, where and how to break pages down into include files, etc., etc. are at the discretion of the site developer.

However, the final coded site is expected to strictly adhere to the layouts, fonts, classes and design of the prototype. If there are some front-end elements that the selected vendor wishes to discuss changing (for technical reasons, usability, data issues, etc.), those changes can be reviewed by the Metro Rex team. Otherwise, the build of the site will not be considered to be complete if there is any deviation from the prototype design.

Other Considerations

If there are any questions, misunderstandings or confusion over any elements of this document, or if anything has been omitted from this document, the Metro Rex team would be happy to help answer or clarify those issues.

Data Needs

Overview

There are basically three types of data sets that are required for the web site. These are:

·  location information : the region, cities and city areas the site covers

·  member information : details on each of the site users

·  listing information : the details and statistics on each of the rental listings that members can add to the site

There will also be whatever standard data is needed for super administrative access and data reporting.

This section of the document will discuss what data is needed across the web site and what type of data it is. How the data is entered or read out of the db will be discussed in subsequent sections. It is assumed that each location, member and listing will get its own unique id.

Location Information

This is the region, cities and areas that the site covers.

region : The only region for Metro Rex right now is the greater Boston area. However, we expect to move into other regions as the business grows. As such, we wish to have data associated by region. All other location information will be associated with one and only one region. All site members will be associated with one and only one region. All listings will be associated with one and only one region.

For the phase II launch, there will only be one region. This region will be uBOS. The site needs to be able to scale in some way to allow for additional regions. You will notice a hidden field for the region in the php file; you may use this convention or alter the code as needed.

city : A region will have a set of cities associated with it. The list of cities will be decided by Metro Rex staff. There will be about 5 –9 cities for phase II; all of them will be associated with region uBOS.

area : A city may have a sub-set of areas associated with it. An area is a small neighborhood of a given city. There will be from 0 – 15 or so areas associated with each city for phase II launch.

area abbreviation : Each area has a 1 – 5 character abbreviation as well. This is not necessarily the first characters of the area; this needs to be manually selected.

Some cities may not have an area associated with them. Listings may be associated with either a city or an area. Site searching capabilities (to be discussed later) thus need to be able to accommodate searching by an area, by a city (including the aggregate of its areas), or by a city with no associated areas.

Member Information

Each member needs to be associated with a region. The following fields will be captured for each member:

·  name : text field

·  role : choose from broker, agent, property manager, or other

·  phone : text field

·  mobile : text field

·  email : text field

·  fax : text field

·  user id : 6-10 alphanumeric characters

·  password : 6-10 alphanumeric characters

·  office : text field

·  street : text field

·  unit # : text field

·  city / state : text field

·  zip : numeric

·  area 1 : select from available cities and areas fields (this does not associate the member with only this city or area; this is just for our sorting and knowledge capture purposes)

·  areas 2 : same as above

·  website : text field

·  signup date : server automatically logs day on which the member information was added to the db

·  last login : server automatically logs day on which the member last logged in to the web site

·  total logins : server automatically counts how many total times a user has logged in to the web site

·  status : can be paid, active, pending, or inactive

There is also one extra field called membermessage. This is a message that the superadmin can enter brief text, which will be displayed on the control panel for all users.

Listing Information

Each listing will be associated with a particular member (and as such, with a particular region). The fields are:

·  area : select from available cities and areas fields. The listing will then become associated with that particular area (if any) and the city with which that area is associated, or with just the city selected.

·  location : text field

·  rent : numeric

·  floor : choose from none selected, basement, 1, 2, 3… 8, penthouse

·  avail date : month and day (automatically log year)

·  beds : choose studio, 1, 1+, 2 – 5

·  baths : choose 1, 2, 3, 4

·  laundry : choose none, in unit, basement

·  parking : none, avail rent, outside, indoor

·  pets : choose yes, no, maybe

·  comments : open text

·  client fee : text field

·  list type : choose co-broke, exclusive, inactive

·  cb/dir : choose none, half, direct

·  contact : text field

·  phone : text field

·  mobile : text field

·  email : text field

·  address : text field

·  landlord: text field

·  landlord phone: text field

·  tenant : text field

·  tenant phone : text field

·  additional : open text

·  photo 1 : jpeg or gif

·  photo 2 : jpeg or gif

·  photo 3 : jpeg or gif

·  photo 4 : jpeg or gif

·  date created : server automatically logs day on which the listing was added

·  date created : server automatically logs day on which the listing was last edited or changed

·  date made active : server automatically logs day on which the listing was turned active co-broke or direct type

·  date made inactive : server automatically logs day on which the listing was turned from active to inactive

·  total views : server automatically counts every time a listing is viewed on the site (detail.php or cbdetail.php page)

If there are additional fields that are considered to be standard for the type of site we are building, we welcome comments and suggestions from the developer.

Most of the Member Information fields will be used for new member signup, member profiles and superadmin usage. Most of the Listing Information fields will be used by members for posting or for the public listings, as well as for the superadmin and statistics compilation.

More on how these fields will be used will be described on a page by page level.

Site Pages

Overview

There are currently about 25 page files in the prototype. The majority of these are static pages that require no work on the part of the developers. There are also 7 include files, 1 style sheet, and nine images.

All of the page files (with two exceptions) are calling three include files and one style sheet:

·  includes/header.php : has some html elements and the logo

·  includes/navbar.php : has the main navigation links

·  includes/recognize.php : has the bar that will either prompt login or allow logout (is currently using php)

·  includes/footer.php : has the bottom bars with copyright info

·  main.css : defines all styles for every element across the site

The other include files that exist in the prototype are currently:

·  includes/loginbox.php : has the username and password input bosex and button to allow users to log in

·  includes/selcity.php : has a hidden input field and selectbox for cities and regions

·  includes/selsize.php : has a selectbox for number of beds

Error Messages

On any form pages, there should be a standard way to display error messages. All forms will have some introductory text. Any error message should be displayed immediately after the introductory text, in the same paragraph. The error message should use “class=ero” to define the appearance of the message. It is essential that error recovery on a form not cause loss of data already entered.

Pageanation

No pages on the site should pageanate. All search results and data pulled from the server should always show on a single page. However, if there is any concern about download time to include all of the possible data on a single page, we may need to consider the possibility for pageanation.