Hi All
First of all, my apologies to anyone who wanted to attend my presentation in Barcelona. I'd had a migraine building up all week, and my head decided to explode on Friday! So I spent the day with the curtains shut in the hotel. I was hoping to get some of my thoughts into a more viewable form post-Barcelona but have had a few problems to deal with in Real Life(tm). So I thought I'd try and share some of my ideas here, whilst giving a bit of background of where I've been (in terms of booking systems).
Previously
Okay, so my previous forays into booking systems have invariably ended up at the meeting room booking system (mrbs)]. The best solution I found, for our needs, was [[http://sourceforge.net/projects/icalscheduler|iCalScheduler which is derived from MRBS & phpiCalendar. At the time (version 0.5) ics didn't have real authentication, session support, or decent templating support so I stripped it apart and made it work within phpBB's system so that it would integrate into our website (At the time, I was using phpBB as a framework).
More recently
Recently I've converted (and am converting) any projects I can get my hands on to drupal, so it was inevitable that I would want a decent booking system that worked with or within drupal. My first bit of research into this was to ask a question on d.o - and from what I remember I got 2 answers. One answer was to use mrbs, another answer was that it might be possible with a combination of cck and views. But if anyone is utilising cck and views they don't seem to visit d.o or don't want to share how they've done it?? (from my experience).
So, I want to try and change that, although I do believe I need some help (which is where you all come in?!!)
I have this crazy idea that drupal could really benefit from a booking system api. The api could then be extended by supplementary modules to provide specific uses, oh and in the spirit of drupal it (the api at least) should be open source.
I've also been thinking recently that a booking system api coupled with a simple event extension/module could be a good replacement for the standard event module??
So, what do we need (or what do I think we need so far!):
- I think we could utilise the date api (in true Software Engineer fashion, I don't want to duplicate unnecessary code) and with it the Calendar
- From talks with people (I think it was Crell, tho' not sure as my original thoughts/conversations on this were a while ago!) we need some kind of collision detection, although I'm not sure whether all scenarios require this?
- Optional hooks into ecommerce type modules; I say optional as not all scenarios will have a cost against them, and in some situations the cost may be worked out on another system.
- Different user levels so that in some instances some users may only be able to make a reservation whereas admin users can make a proper booking
- Notifying the booking system admin when reservations have been made so that they can agree or disagree
- possibly hooking into cck to create custom reservation forms or other themable forms
(These are most of the functions that our old system uses)
I would appreciate more input from anyone, more discussion, and better use-cases on the new wiki page! Then, hopefully, we can start playing with code ;)
Cheers

Comments
Great idea and really needed. Have you checked phpScheduleIt?
This is a great idea, and really needed within Drupal. There are a lot of non-profit organizations who would really benefit from such a feature. Churches and other organizations that have buildings and rooms that they want to make available to their communities would benefit in particular. I've recently converted one church website to Drupal, and they've identified that a room booking system would be very high on their priority list.
Like you, I've wandered around looking for good alternatives that are already up and running. My preferred solution was phpScheduleIt, available here:
http://www.php.brickhost.com/
http://sourceforge.net/project/showfiles.php?group_id=95547
I'm not much of a php programmer, so I have no idea how difficult it would be to "integrate" phpScheduleIt's functions into Drupal. I guess it depends a bit on what you think the term "integrate" means. phpScheduleIt already seems to have the ability to take reservations and make them available as an RSS feed. Even having the ability to take reservations made in phpScheduleIt and convert them to events in Drupal would be a huge bonus as I see it. I'd be interested to know what you think, though, as someone who clearly knows php and Drupal.
Yeah, I remember looking at
Yeah, I remember looking at that a while ago, but our needs were for a more academic system which is why I ended up at iCalScheduler.
(and yes, I too believe Drupal needs some better booking system stuff!)
As far as 'integrating' goes; I think it's far better to have a drupal-specific version rather than hacking away at someone else's code or creating a 'bridge' between that and drupal. I don't know about anyone else, but I would like everything to integrate nicely into drupal.
I'm hoping to find some time soon to try and get some code together for this, it's just a bit hard sometimes trying to think in abstract terms!
If you get a chance, can you add to the wiki so I've got some more examples to think about?!
Cheers
I have been searching around
I have been searching around for exactly this the past couple days.
Have you made any progress on this? Please let me know if you need any help developing/testing.
Thanks,
Wes
--Wes
It's still in draft; I'm
It's still in draft; I'm currently trying to come up with what functionality need to be in the api side of things and what the contributing modules(expansion packs!) would need to do
What we need
It would also be nice to have resource allocation.
e.g.
For a flight booking you could allocate the customer a seat.
For a conference room booking you could allocate a projector.
Yes, the api could have
Yes, the api could have supplemental stuff; but these would more likely fit into the contributing module's code. (though this could change later!)
Cheers
API
OK, agreed I think a fully fledged 'resource allocation' (with resource conflicts etc.) would be a separate contrib but could we not build into the API a way of assigning something that is booked -> to a node.
We could do, do you want to
We could do, do you want to add it to the wiki page or shall I? (I'll be using the wiki page as some kind of starting point when work out where all the functionality needs to go (api vs contrib)
wiki
I have updated the wiki with the API feature request. More to come ;)
Thankyou ;) And yes please
Thankyou ;)
And yes please feel free to add some more stuff on there - then I can get on with formalising some code
Using specific CCK set of fields
I was thinking of a special set of fields that allows to make every type of content into bookable, this should include a checkbox for making it bookable and then what is the booking unit, booking period, etc.
I am in the process of trying to implement something like that that should allow hotel booking of rooms and beds and also restaurant table bookings.
I will update on how it goes.
Dru
cheers Dru, This sounds like
cheers Dru,
This sounds like an interesting idea.
I'm (again!) in the process of writing a room booking app frontend so that I can work out what should be in the frontend and what should be in the backend (api). And thinking about what you're implementing, the backend (api) could hook into cck/content to somehow allow for this. This could be quite interesting....off to think some more!
how are things?
Hey,
there hasn't been a lot of activity in this group, so I am wondering where things are at?
Is someone still working on a booking module/api?
I had to come up with a really basic solution for a project, involving CCK, Resource Conflict and views, but I'm quite frankly not happy with it.
So I'd love to help as out as I can if anyone is doing something actively? I'm not experienced enough to kick this into gears myself, though.
Integrate or replace
I just started looking into a booking system. I have a client they that have technical and research equipment and lab space they need a system that can admin this.
I have not yet seen through the mrbs-codebase, but the first ting that go into my mind is, should we integrate or just start with new and clean code but use the ideas and? I meen most of the code is replace by Drupal without us having to do anything, like already pointed out the date API, CCK and views will take us a long way. So what need to be made?
What else? MRBS is almost like a webshop where you are just renting stuff :)
--
Stein Magne
http://smbjorklund.com
--
Stein Magne
http://smbjorklund.com
Same interests
What did you figure out here as a best approach? I too am dealing with Equipment that people need to sign up for to use.
Is this being developed still??
Is this being developed still??
i would like integration into the events module on used here
the booking should work like this
1.
2.
3.
Searching Hotel
Hi Is there
any module for hotels search