IN ONE SENTENCE Schedule and confirm showings with prospective renters and buyers 24/7 without even answering the phone.
THE LONGER PITCH ShowMojo fills a glaring gap in today's housing rental and sales process. While prospective tenants and buyers can and do easily find a plethora of available rental and sales listings online, the process inexplicably becomes an ordeal when they actually want to see the place. Missed phone calls. Email tag. The awkward SMS.
ShowMojo is the answer. Prospects schedule a showing where they found the listing -- online.
Owners and agents decide when they're available. Prospects select the time that suits them. ShowMojo actively manages the show times to build appointment clusters and minimize downtime between showings. Everyone gets an email with the showing details.
And it doesn't end there. ShowMojo will confirm the showing with each prospect 24 hours in advance. If the prospect doesn't reply back with a confirm or cancel, ShowMojo tries to confirm again, six hours before the showtime.
The result? A drastic reduction in no-shows. Less time waiting in front of the building playing on your iPhone (sorry Steve). More time showing property ... or doing whatever else you would rather be doing.
You can see ShowMojo by going to: https://dev.showmojo.com/l/d822315042 (user: bart, password: simpson). While you are there, schedule a showing. This is the point of release 1. Prospects can schedule showings online and the system automatically handles confirmation.
Then, go to http://dev.showmojo.com/users/sign\_in/. This is the site. You can see the account administration area by logging in using username: test / password: password
To create a new account, use a version of this url: http://dev.showmojo.com/users/sign\_up
- Sass (to generate css - if you don't know what this is and you are working with css this is important)
- Paperclip (for image attachment and manipulation)
- Devise (for authentication)
- Rspec (for Behavior Driven Testing)
- Cucumber (for Behavior Driven Testing)
- Factory Girl (Test data and Mock Object fabrication)
- I'm sure there's more that I am not aware of (see Gemfile)
- The entire site runs under SSL
- The database currently in use is PostgreSQL
- The application has been converted to use jQuery instead of Prototype
- All jQuery files are hosted by Google. Please continue this convention
- ImageMagick must be installed on the host machine (for image manipulation via Paperclip)
- Our initial deployment plan was Heroku, but I switched away from that for several reasons. (1) cost, (2) architecture limitations, (3) concerns around the limited number of dynos and worker threads
Any sensitive data MUST NOT to be commited to the repo!
For now we have:
- config/database.yml
- config/mailman.yml
- config/s3.yml
- config/smtp_servers.yml
- config/postmark.yml
- config/initializers/stripe.rb
- config/initializers/google.rb
You should ask for this data as needed. Please read Wiki page
The system uses a background job to improve performance. To start that job on your local machine use: "rake jobs:work".
For filling the database with the information required please perform the command rake db:seed.
To deploy to the Linode server execute the command "cap dev deploy" or "cap dev deploy:migrations" from the app's folder. The password is "show1mojo".
- Internet Explorer 7, 8, 9 (and IE 6 on the Prospect Scheduler Page)
- Firefox 3+
- Safari 4+
- Chrome (most recent release)
- The code working as requested.
- Tests written and running as part of "rake run_tests".
- If the task has visual changes, tested in at least three browsers (one of which must be a version of IE).
- Code checked into GitHub.
- Code deployed to the Linode server.
Spend an hour or two getting the code set up and understanding the task I've asked you to complete.
Before the end of two hours of work email me with:
- A rough estimate of how long it will take you to complete the work
- Any questions you have
Please email me BEFORE deploying to the Linode server.
- An OwnerAgent (was PropertyHolder): has an account with ShowMojo and is using that account to schedule showings for property that is for rent or for sale.
- A Prospect: is a person who comes to ShowMojo and schedules a showing to see a property belonging to a OwnerAgent.
- A Listing: represents a property, a collection of properties (five identical townhouses) or an aspect of a property (a residential advertisement for a live/work space)
- A Calendar: records when a OwnerAgent is available to show his properties. Additionally, the Calendar allows the OwnerAgent to control how available Showtimes are presented to the Prospect, such as the frequency between showings and the number of Prospects who can book the same Showtime.
- An OwnerAgent can add, edit, delete, make active, or make inactive a Listing
- When the OwnerAgent has rented or sold the underlying property he will make the Listing inactive so Prospects do not schedule additional showings.
- All active Listings are public. In most cases, Prospects will navigate to Listings through advertisements posted on the web by the OwnerAgent.
- When a Prospect selects a showtime and submits his information to ShowMojo the showing is added to the OwnerAgent's dashboard, both OwnerAgent and Prospect receive an email notification of the showing, and the showing is considered confirmed (unless one party contacts the other to reschedule or cancel).
- When a Prospect comes to ShowMojo to schedule a showing for an inactive Listing he will receive a message saying the property is no longer available.
- Dashboard is the main page, the page that is shown when a user logs in or registers, and the page shown to the user when an operation is completed.