Tuesday, 10 February 2009

Making a free hostel reservation system - pt 1

Leveraging my inclination to postpone the comet server and other things, I got myself into a 2 day sprint to make a proof of concept of a hostel/b&b reservations system that wouldn't suck and could be implemented for free. Current services are all closed source quasi-scams holding the customer's payment as ransom and take the first payment of the first day as commission (~15 bucks per transaction!) while still making the establishments update manually (wtf!) by themselves. That for something that can be coded in a couple of days. And there are at least dozens of these middlemen. Customers lose the most as the process today takes very long with multiple sites and with the risk of using their credit cards with these dodgy intermediaries. These customers usually have to book on shared computers, and they might have to pay for the time to use the computer. Most commercial reservation systems are so bad their code needs your browsing session to jump to second and even third domains. On the other hand, major hostel chains ask over u$d 1,500 per year and demand and around 20% discount for their members. Each member has to cough up u$d 15 per year.

I know many will tell me about how I should make money out of this, but I don't think in this present system of chaos, abuse, and misinformation anybody can have a decent working business model. I'll be happy to just show how disposable they really are to both hostels and travelers.

Some goals for hostel owners:
  • To own the data and be able to pull out as they please, no lock-in.
  • Simple way to have their own data layout to play with, thus avoiding multiple reservation tracking systems.
  • Zero cost.
  • Minimum possible technical knowledge requirements.
Some goals for travelers:
  • Have a fast availability system either global or on the hostel's page.
  • No credit card required.
  • Easy reservation form request with confirmation by email/phone confirmation (most hostels have this already in place.)
  • Google Docs (it shouldn't be that hard to switch to alternatives and it's a sort of neutral brand for everybody.) Spreadsheet to manage and export the reservations, Forms to receive the reservation requests, Gadget with the core logic and easy to place inside even static pages hostels have, Sites for the central page.
The idea so far is to give each hostel a Google Spreadsheet (or a template for one and instructions) where they have on one worksheet all the rooms and can fill with the names of the reservations or of the current occupiers. Then a separate worksheet can count and show the result of available beds/rooms for a specific date and share that with the world. The gadget feeds from that data creating a script tag hack requesting a specific range of cells with JSON formatting and callback. The customer searches specifying date and amount of people, then if there is availability a small form is displayed. This form is adjusted to match a Google Docs form requesting the basic data (name, email, phone, date of arrival, number of nights.)

So it's one spreadsheet with two worksheets and a form, per hostel.

On the legal side this site could be set with these:
  • Use only Creative Commons non-commercial share-alike license for the all published data (the shared bit of the spreadsheets, not all the data!)
  • Use GPLv3 for the JavaScript code (a bit redundant but just to make it clear, there is still heavy server-side JavaScript on the corporate world, you wouldn't believe what I've seen.)
That should be enough to have people feel like joining on the project as developers or users. I hope.

Missing but possibly easy to implement features:
  • Internationalization and localization (existing booking systems suck at this, also.)
  • A sane way to make a guarantee to replace deposits (e.g. ask for a $1 paypal/amazon donation to a range of charities like EFF, CC, or WaterAid.)
  • Hostel media hosting or display (i.e. pictures, videos, descriptions.)
  • A fair review system (well, not that easy due to the abundance of trolls.)
And here is the working gadget (source here):

It can be placed on any static page with just this iframe:


cyberjorge said...

Hi Alecco,

How can I use it? I tried embedding the code bu i only get "Information is temporarily unavailable." message.

Please help, thanks!

Alecco Locco said...


This is a gadget for developers to pick. It's using a spreadsheet form I made. It's far from a finished product and far from user-ready.

It was a one afternoon hack to show it is possible to make a free reservations system with Google tools.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.