[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Towards a rental tracking module


I think we are talking past eachother a little bit here.

On Tue, Feb 25, 2014 at 8:23 PM, John Locke <..hidden..> wrote:
Hi, Chris,

On 02/25/2014 05:47 PM, Chris Travers wrote:

On Tue, Feb 25, 2014 at 8:32 AM, John Locke <..hidden..> wrote:

While I haven't actually built something like this, we have done some preliminary planning and use case analysis on a couple different projects along these lines.

I would suggest a couple terminology changes -- instead of individual units being "slots", they should be Inventory. E.g. a hotel has a room inventory.


Time slots for booking (hour, day, week, month, year) -> "Slots" define the granularity based on the business model

My initial thinking was that the services could handle that.

By "Services" are you referring to services under Parts & Services?

I think a service can certainly be used for pricing -- e.g. "Lawnmower Rental, hourly", "Lawnmower Rental, daily", with qty fields working as needed.

But it does not capture the time period of the booking -- or else you would need to create a new service for every rental...

Right.  The period would be covered at least initially in the "rental contract" itself.  I would like a future version to have better tracking of this (i.e. interval to service/qty/price) but going to leave that handling off for the first iteration for now. 

The reasoning here is that for the first iteration I would really like to try to keep the implementation minimal.  This not only cuts down my effort and gets something out faster, but it provides room for improvements later (whether paid or not, whether done by me or not), as long as we plan to be able to add them.

Booking -> Service -- A booking consists of an inventory item and 1 or more consecutive slots. You might have a variety of services that can be used for booking -- an hourly rate, a daily rate, a weekly rate, a student rate, an employee rate, not to mention different prices for different inventory, or prices that change based on how far in advance they are purchased, etc.

For now (trying to keep this simple and reasonably achievable in the first iteration), what about tying it to an order where other goods and services can be added?  I.e. we track the service rate with the rental in the rental module and link to an order for other add-on services.

Well, I would tend to think that you would track the bookings and slots in the rental module, and use a sales order to track the service rate (along with some link to the corresponding booking in the rental module -- serial number?)

In my use case, I would handle the booking and slots in a completely external system, for managing availability, and then just generate a sales order with the appropriate services to capture payment details, and turn into an invoice for the actual charge.


So for me, what would be most useful to have in LSMB is really good deposit management, and possibly asset management of the rental inventory. The actual booking system to my mind has too much variation, but there's also a lot of value making it available to customers (or at least a broader range of staff/partners), so we would build those in a customer-facing system, not LSMB.

Right.  Two thoughts here is that a full booking module may be rather beyond the scope of what I am likely to want to do on this current project.  I am thinking that (unless there are others who want to jump in and offer funding to build such a thing), the best option would be to get a rental module done first and then look at building a booking module on the top of it down the road.

I guess my question here would be what use cases does the "rental module" have, if you're not going to build booking functionality?

The immediate uses would cover a couple of cases:

1.  VM rentals at Efficito.
2.  First come/first serve rentals of other sorts (dvd's, equipment rentals, etc).

Keep in mind that once you are doing booking you have to also deal with overbooking which is another headache.
E.g. for your "Renting Unit" workflow, how are you going to determine what rentals are available, if you aren't tracking time slots and bookings?

a rental contract has a start timestamp and an end timestamp.  You can search joining rental contracts for whether or not there is a contract that overlaps with now().
Is this more of a library model, a simple check-in/check-out system?

Check in/check out with an end date at first.  More functionality to come in future versions.  Also having a rental module would make having a booking module possible.

By all means, if you have a customer asking for this, I completely understand putting time into it. But if not, I would really like to see the precursors that are coming up in this thread dialed in before expanding the scope of the system:

1. Deposit/pre-payment management

This is getting attention in the financial rewrite, btw.
2. Asset management covering purchase, depreciation, and disposal of rental equipment (I'm sure this can be done now, but I don't know how...)

We cover everything except purchase integration presently.  Basically you have to purchase and then enter the fixed asset.  Not too bad but it is two steps.

Also, although we currently only support time-based straight-line depreciation out of the box, the system has hooks for adding other depreciation methods.
3. Options/product modifiers

Actually charging for rentals seems pretty straightforward without an add-on!

Charging for them is easy.  Tracking them, when you should bill for them, and and getting them back at the end, is not so easy.

Best Wishes,
Chris Travers

Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor lock-in.