Front end:
Location view:
The villas and apartments for rent are located in different areas/developments/gated/communities. Each one has a description with a map and followed by a list of villas for rent.
List view, either within a location or without first going to a location (lists all the villas):
A list of villas or apartments, each containing one thumbnail picture (120x80), 1 thumbnail map of Cabarete and one layered popup with a detailed map of a particular area if available, rental price, location, and a few other specifics such as # of bedrooms, # of bathrooms, max # of people, swimming-pool, beach-front, internet in villa.
This list can be filtered. The form should be push-down layer. Searches/filter should have min to max $$$ per night, min people, swimming-pool, beach-front, internet and a few more details.
Note that dates are not necessary. The villas are not subject to availability.
Compare feature: each listing has a checkbox. If 2 or more are checked and "Compare Now" is clicked, the villas are listed side by side. On that new page, villas can be removed or you can go to the detailed view.
The villas in the list can be clicked on to go to the detailed view.
Detailed view:
There is...
- the villa description,
- the details (swimming-pool or not, beach-front or not, max people,...),
- the maps (about 300x200),
- one large picture, and more thumbnails that, when clicked, replace the larger picture with a bigger version of itself.
- and the reservation request.
The reservation request form:
Similar to the form seen on [login to view URL]
This will be done in two parts.
The first part is on the detailed villa page and contains...
- arrival date and departure date (with calendar pop-up)
- # of adults
- # of children between 2 and 12
- # of children under 2
- Extra Services (explained further below in the admin area)
Some javascript should give warning messages if the dates are incorrect or the max # of people is surpassed. Try it out on [login to view URL]
Next comes a page where all the details of that request are listed including the final price. Again look at [login to view URL]
Followed by another form:
- First Name
- Family Name
- email
- email verification
- telephone #
- Address (Street, City, State/Province, Country)
- Verification code so that malicious scripts cannot send mass emails. See example: [login to view URL]
An email with the request goes off to the site owner and a copy of the request goes to the sender.
Admin area:
Secure login for one administrator.
Choice between location editor, villa editor and global settings.
Location Editor:
List of locations with minimal info (Name of location, number of villas in that location): Add, Edit, Delete locations
Location Feature editor (see below, also available in General Settings)
Adding/Editing a location:
- Name
- Description (BBcode or HTML Editor such as TinyMCE)
- Short description for location listing (max 500 characters)
- Feature list (see below)
- Photo Gallery editor (see below)
- Map editor (see below)
Features editor:
(For all locations)
The administrator should have control over a list of features that locations either have or do not have (on/off), or a description with variable (so two different types of "features".
These features are things like distance from downtown Cabarete, distance from Kitebeach, whether the gated community is guarded (security), whether there is a supermarket nearby, whether a rental car is suggested,... but all of these things should be administered (added/deleted/edited) by the administrator and not hard-coded.
Each feature has the option to be included in the search/filter form.
New features that are added are available for all locations.
The features can be reordered and then should also appear that way in the front end.
Photo Album Editor:
(For each location)
The admin can upload pictures up to 2mb and they will be processed on the server.
- 3 sizes will be made (thumbnail fitting in 120x80, normal size at 240x240, and a huge size 600x600). The original can be discarded.
- each picture can have a description (that appears when viewed in the detailed villa view).
- the pictures can be reordered
- one picture can be chosen to be the thumbnail for the list view.
- pictures can be deleted and should be removed completely (files and from database)
Map Editor:
I already have a working version but I'll explain it here anyway.
There is a map of Cabarete in Flash.
In that map, there is a dragable dot which can be placed to a specific point.
In the front end, a flashing dot appears where it was set in the editor. See [login to view URL] for examples
Villa Editor:
Add, Edit, Delete villa/apartment (I'll only write villa instead of villa/apartment from now on)
Villa Feature editor (same as Location editor)
Extra costs editor (see below)
Extra Services editor
Adding/Editing a Villa:
- Active/Inactive
- Name
- Location (from drop-down taken from Locations)
- description (no max)
- short description for list (500 characters)
- type: villa or apartment
- # of bedrooms
- # of max. pers.
- # of bathrooms
- meters from beach
- Rates (see below)
- map (as in Locations but the map is a plan of the villa complex)
- Photo Gallery editor (same as in Location editor)
- Panorama Gallery (as Photo Gallery except that these are QT Panos and or flat file jpeg/java plug-in panos)
- Features list (as in location)
- Extra Costs (see below)
- Extra Services (see below)
- villa owner and contact info
Rates Editor:
(for each villa)
The rates and periods can be added/edited.
The periods can either be cyclical or progressive.
If they are cyclical, the admin only has to enter the day and the months for each period of the year and the rate for each period. See [login to view URL] for a typical cyclical calendar year. The advantage for the admin is that the rates do not have to be added as time goes on.
If it is progressive, the admin has to enter periods progressively as time advances. See [login to view URL] for an example.
There should be checks to see if periods overlap, or if there is a gap (but this is optional for the moment as I know that this is not necessarily easy to do).
Extra costs: (also available in General Settings)
(for all villas and optionally per villa) - this is somewhat special...
Extra costs are fixed (opposed to Extra Services that can be chosen) and can be things like Federal Tax, Provincial tax, Hotel tax, Service charge, extra person,...
But again, the admin should have complete control over these extra costs:
The fields of an "extra cost" are...
- Name
- Description
- % of rate, one time cost, daily cost
- the number
So, the admin sets these extra costs in the actual "Extra cost" editor, including the number (for example: Extra Person, whatever description, daily cost, 10 (that this is US$ or Euros or Can$, or whatever currency is set in the global settings). However, in the villa editor, the extra costs can be changed for that particular villa. Example: most villas have an extra charge of US$10 per extra person but there are some that charge US$12 or US$15. If nothing is changed, the default US$10 from the "extra cost editor" is taken, but if that number was changed in the villa editor, this number takes precedence.
In the villa editor, these extra costs can also be turned off for that particular villa.
Extra Services: (also available in General Settings)
(again, for all villas and optionally per villa)
Extra Services are services that can be requested when making a reservation.
These are things like: airport pickup, internet service, cook, daily maid, baby sitter, car rental...
It is basically the same as Extra Costs except that the Extra Services can be chosen (checkbox) in the front end by a potential client.
The one thing that is to be noted is that some Extra Services are clearly defined with a fixed cost and can be calculated as the client makes a reservation, but others do not have a fixed rate and cannot be calculated during the reservation process. For example, if someone chooses Car Rental. Here, the one receiving the request has to get back to the clients and offer him/her what is available.
So, when a potential client makes a reservation request, this has to be clearly indicated... Example...
High speed Internet for 10 days at US$5.00 per day .... US$50.00
Interest in car rental for 10 days: we will get back to you with a list of offers
(it can be presented much better than this, but I think my point is clear)
In any case, the admin, by leaving the number field empty (or by checking a checkbox) can indicate that the rate is to be determined after more info is gathered.
Global Settings:
- Currency
- Location Features Editor (also accessible through Location Editor)
- Villa Features Editor (also accessible through Villa Editor)
- Extra Costs Editor (also accessible through Villa Editor)
- Extra Services editor (also accessible through Villa Editor)
General Stuff:
- multiple languages: unlimited in number - has to be an expandable feature
- the Locations have to be integrated into a tree-menu by Tigra or similar
- has to be in PHP and mySQL (up to latest versions / not beta versions)