I, like many people, would like to use DC for a rental use case. There is Rooms, but that is a bit too restrictive at this stage for my purpose. I have been playing with Availability Calendars (AC), it does the hiring section perfectly and simply enough to make it flexible.

I have two avenues I am looking at and I am hoping one of the DC gurus might be able to give me a couple of hints / pointers to help me along my way. Any help will be greatly appreciated, even to tell me I am going down the wrong path.

The basics of the use case is that I will have many products in many locations that will be rented out for periods of time, days, weeks or months. For example a number of commercial kitchens in different locations rented directly to the public. But there will also be equipment that can be rented at the same time or separately from the same site. The different products are in DC on a test site now and have AC fields attached, both work independently to book or purchase products, I just need to build the link.

  1. What I would like to do is write a small bridging module that, upon clicking the add to cart button, will allow DC to do its thing then hopefully grab the node object if its still available and pass it to AC to save the dates as set in the AC settings.

  2. I originally wanted to use rules but AC doesn't make anything available to rules. So I was hoping to capture the node connected to the product being added to the cart on the "after adding a product to the cart" rule, then pass this to some custom php using Rules which would send the node to AC with the dates to be processed.

If I can make module or just the php and steps required to do this I think this might fit a large range of use cases. Any ideas out there?

Comments

rszrama’s picture

Status: Active » Closed (won't fix)

I'm sorry this has gone so long without a response, but I'm going to close it out since it's almost a year old. A better place for such discussions would be the discussion board on DrupalCommerce.org. The queue is primarily just used for bug tracking. ; )