Travel tour booking system


I'm building an event booking system for a travel tour company. It's pretty straightforward: several tour types, a calendar, shopping cart integration, a display how many seats are available per date, and close that tour date when sold out etc.

After navigating various incompatibility hurdles between various versions of contributed modules (I'm on my 7th fresh install at this point) I'm inching closer to gauge if Drupal Commerce in its current state is a viable option for this project.

Currently I see the following show stoppers.
1. I added a date field to the event product type, but cannot reference it in Calendar due to the Rules issue where it can't find referenced nested fields. Is there another way to display a date attribute of a product type in Calendar?

2. I saw the SKU discussion thread, and from the perspective of this project it's not a good solution. In its current state, I would have to create the same product again and again for each event date. I looked into the bulk product creation module in the hopes of being able to batch create products based on product type id and date, but this module seems to be not working at all.

3. Is there a solution available to manage stock, in this case the number of seats available per tour?

Advice would be much appreciated.


Posted: Mar 29, 2011


David D on May 11, 2011

I'm looking for somewhat similar functionality, hoping that I can adapt Commerce to handle signups and payment for small classes at our non-profit.

http://drupal.org/project/commerce_stock looks like it might help you manage "available seats."

Regarding the date problem, would it work if the date is not part of the Product entity, but handled rather as a field in the product display node? In that case it wouldn't be nested, and also wouldn't have to be repeated in every Product entity.

amcc on June 2, 2011

i'm doing something similar. Selling courses which are sold on different dates. The courses are always the same, but they get sold on a number of different dates. I thought that putting the date on the display node was a good idea, as David D says you don't need to repeatedly make the product each time.

The problem i'm having with the date in the display node is that when you buy a course only the product information is known. So you cant see what date you've just bought. Also in the order there is no information about the date. There is a backlink to the product display node, but i cant seem to get any other info in the view.

If anyone has any ideas on this please let me know

CommerceKat on August 16, 2011

Weird! It appears that I'm going through a bit of the same ordeal. I'm attempting to set up a travel agent's commerce site, but the dates don't seem to work out too well. Our client sells vacation packages, but they're available year-round. With that being said, customers should be able to customize a purchase to their liking.

I mean, this would technically be the job of the travel agent, but the # of clientele received makes MY client want to automate some practices. The customer service on their behalf would be extremely personal.

Anyway, if anyone can assist us with the any shopping cart/ecommerce fulfillment issues, it would extremely appreciated. Thanks! :D

amcc on November 3, 2011

I'm with you on that. It does seem that the main issue is stock keeping, the rest is just an annoyance, ie having lots of products (but that is a good thing too). Im my case i'm selling different types of package for each course, i.e. bronze, silver, gold. The better the package the more you pay and the more extras you get. But regardless of the package you still take up one place in the course.

In order to manage the stock correctly we'd need to have a single dated product item that has options which change the price etc and also reflect those changes on the order/invoice, but only reduce the stock of one product type.

Is this in the scope of how commerce works. I'm sure there's some smart way of doing this, perhaps with taxonomy and rules?

As for my current thinking for now i'm using a product for every permutation of everything. Only because the bulk product module makes it fairly painless to do this. There is a product bundle module that allows you to make your options only once, then add them to a date product - this results in far fewer products, and possibly helps with the stock issue, but I can't see any way in getting the other fields on the bundled products to appear with ajax very easily....

its a bit of a minefield