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

Re: Towards a rental tracking module



Hi,

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.

Slots refers to the time slots then.

So you're missing a dimension in this problem, at least if you're trying to manage bookings.

Fixed Assets -> Inventory (Rental, perhaps a different inventory than goods for sale)

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

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.


I am unlikely to use this add-on, as we would just build it in Drupal and create an order/invoice in LSMB via a REST call. And we would build it to fit the needs of the specific business. But as far as I can tell, "inventory" "slots" and "bookings" have specific meanings in the rental/hospitality industry, so I would suggest adopting that terminology.

Also, a "booking" makes a nice object to relate everything to, and might change your user stories a bit...

With this model, it's fairly easy to pull up a screen showing all inventory available or booked in a grid showing your time period. But there are so many other variables to consider...

-- is there a setup/cleanup time period necessary before or after a booking, before the next booking?

-- Deposit management

-- filters for inventory type (e.g. 2 beds vs 1 bed vs suite)

-- handling non-consecutive slots (e.g. teach a class in a room every Tuesday evening) -- conflict detection

-- multiple configurations -- e.g. the banquet room that can be split into multiple small rooms rented individually or combined into a single big room, or room blocks in a hotel, reserving a floor at a time for a specific group


... those are the variations that come to mind off the top of my head. I would suggest if you have a specific customer you're building it for, coming up with a generically applicable solution is going to be... challenging.


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.

Cheers,
John Locke
http://www.freelock.com


On 02/25/2014 03:13 AM, Pongrácz István wrote:


 Hi,

This seems a good one :)

As I can see, this is similar or could be used for recurring services, like rent a virtual machine (monthly), a domain (yearly or two years), workstation (monthly) etc.

Example real life scenario could be handy to see.

One example:

  • rent a service, monthly fee, not for fixed period -> like renting a virtual machine or a hosted ledgersmb, without time limit -> it ends when the customer cancel his subscription, for example 30 days before,
  • rent a car for a year, monthly fee, fixed 1 year period
  • house cleaning until cancellation (similar to the first one) - monthly
  • accounting service - monthly
  • rent a smartphone :)

Are these examples suitable for the idea?

Of course, some of the situation there are fixed assets units (computer, phone, car, building, whatever), in other cases not.

Cheers,

István

 

----------------eredeti üzenet-----------------
Feladó: "Chris Travers" <..hidden..>
Címzett: "Development discussion for LedgerSMB" <..hidden..>
Dátum: Tue, 25 Feb 2014 02:47:28 -0800
----------------------------------------------------------


Hi everyone,
 
I am beginning work on an add-on for 1.4 regarding tracking rental equipment, etc.  I wanted to toss my ideas in here for feedback.
 
MODELLING
 
I think the best way to model this would be to track rentals against fixed assets.  I.e. you rent out a fixed asset, and this should allow you to do more fine-grained profit/loss reporting on individual rentals than otherwise possible.
 
So my thinking is that you would have:
 
Fixed assets -> multiple "rental slots" (i.e. "units" available for rental).  For example, a building might be available to be rented for x events, but a piece of construction equipment might be available to be rented only once at a time.
 
Rental slot -> Service. Each rental slot would be associated any number of services.  This could be changed over time to include more services, but for now I only expect to support a 1:1 mapping in the front-end
 
Rental slot -> Usage Contract.  Each rental slot can be associated with any number of usage contracts, but only one at a time.
 
Usage contract - Service.  The contract would contain all the information needed to fill out a line in the invoice and ar tables. A contract would be assumed to match to one line in orderitems or invoices.
 
WORKFLOW
 
1.  Adding Rental Slots:
   a.  Rentals/Manage Slots
   b.  Enter asset tag, continue
   c.  Add slots as needed (number, label, services) and save
   d.  Slots can be retired here as well (basically an end date would be added).
 
2.  Renting Unit.
   a.  Rentals/Rent
   b.  Search for customer, enter asset tag, start and end dates
   c.  Select available slot
   d.  Enter information and save
 
3.  Return of rental
  a.  Rentals/Search
  b.  Enter asset tag, date, and/or customer information.  Search
  c.  Enter date of return, check "Returned" and save.
  d.  If desired you can also click "bill," "generate order" or "renew" (in which case a new usage contract will be created).
 
INTERFACES
 
SQL and Perl Interfaces:
 
1.  Wrapped in Asset/Rental.pm class:
     asset__list_rental_slots(in_id)
     asset__list_rental_slots_by_tag(in_tag)
 
2.  Wrapped in Asset/Rental/Slot.pm
     rental_slot__list_services(in_id)
     rental_slot__add(...)
     rental_slot__search(...)
     rental_slot__retire(...)
 
3.  Wrapped in Asset/Rental/Contract.pm
     rental_contract__add(...)
     rental_contract__renew(...)
     rental_contract__generate_order(...)
     rental_contract__bill(...)
 
DEPENDENCIES
 
PostgreSQL 9.2 (needed for range types and exclude constraints)
PGObject::Simple::Role 1.1 (not out yet, will probably be out tomorrow)
PGObject::Simple 1.6
PGObject::Util::DBMethod 1.0
 
--
Best Wishes,
Chris Travers
 
Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor lock-in.


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk


_______________________________________________
Ledger-smb-devel mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel

 

!DSPAM:530c7ae895397667120014!

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk

!DSPAM:530c7ae895397667120014!


_______________________________________________
Ledger-smb-devel mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel


!DSPAM:530c7ae895397667120014!