[Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread Chris Travers
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.
http://www.efficito.com/learn_more
--
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=126839071iu=/4140/ostg.clktrk___
Ledger-smb-devel mailing list
Ledger-smb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel


Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread Pongrácz István

 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 chris.trav...@gmail.com
Címzett: Development discussion for LedgerSMB 
ledger-smb-devel@lists.sourceforge.net
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.

[http://www.efficito.com/learn_more - http://www.efficito.com/learn_more]




__



-
-
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=126839071iu=/4140/ostg.clk
trk

__


___
Ledger-smb-devel mailing list
Ledger-smb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel




--
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. 

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread John Locke

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 chris.trav...@gmail.com
Címzett: Development discussion for LedgerSMB 
ledger-smb-devel@lists.sourceforge.net

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 

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread Erik Huelsmann
Hi Chris,

On Tue, Feb 25, 2014 at 11:47 AM, Chris Travers chris.trav...@gmail.comwrote:

 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.


I'm inclined to go with John here: decouple fixed assets and rental
means. Then, investments in fixed assets can be added to the list of
rental means upon investment, if one needs to. However, there may be cases
where a rental object doesn't become available through purchase/investment.



 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.


One of the first things that came to mind - and is also noted by John - is
a regeneration period where an asset is unavailable after a rented
period. This seems like a nice addition to the model.

John also mentions a need to improve down payments handling - and probably
associated returns. My idea would be that down payments would be handled by
a different module. One that can be attached to orders, projects and
rentals. This would be perfect to do administration of retainer-based
project work, webshops which require payment to fullfil orders (and clear
resulting invoices against the payment-to-order). And of course, it would
also work wonders for the hotel description John is talking about.

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.


Ok. Let me follow your example of the hotel room which is being rented.
Lets say I rent a hotel room for a week and additionally, rent a bike for
three days within the total rental period of the hotel room. Basically, the
bike can be considered a temporary add-on to the room. Would those be two
usage contracts? And would those two usage contracts lead to one invoice?
Or two?

I have another example - I'm not sure if this is in scope or not, but let
me just bring it out here - what if I want to buy an option onto the room;
like: an extra bed. The hotel has enough of those, so doesn't use rental
slots to rent them out, but rather supplies this as an option to the room.
Would this lead to a second line on the invoice? or two invoices? (still:
do we want to support the case?)


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


I liked John's question on the multi-exclusive rooms here :-) While I think
that question would be a bit hard to tackle, I'm thinking a rental can be
bought with an option, however, there's a limited number of total options
to be sold. I'm thinking of a car rental where I'd like to rent a baby
seat. Now, the baby seat can be rented with any car, but even though there
are 200 cars up for rental, there are only 30 baby seats in total. Do we
want to take that into scope? Or maybe baby seats are the wrong example
(they can still have an asset tag); what if you're renting VMs, like Istvan
says; if the physical server has 100GB of storage, then each GB can't have
an asset tag, but still, you can't rent out more than 100GB in total.

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).


The basic workflow sounds about right. Trying to search for the boundaries
here, looking for what we can reasonably implement without going too much
into one specific industry or customer.


 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)
  

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread o1bigtenor
I'm going to toss in my $0.015 worth because although I'm not running a
rental business I am tracking equipment costs and use.

What I am doing is increasing the granularity of the database by adding
-000 as a suffix on every account.
Then I am tracking each piece of equipment by its own number (001 to 999) -
- - this is for fuel, repairs, parts, transport, depreciation and whatever
else you want (using those unique numbers).
So for GIFI code 1740 (1740-001) I can designate a tractor (I am keeping a
block of numbers so that I can group like pieces of equipment together).
Then for fuel I could use a block of numbers there also (I am tracking each
type of fuel and lubricant too) GIFI 9764 (its a farm that I'm piloting)
and so on.

Something like this might enable you to keep things real simple. If you
needing you could add a fourth digit to my extension and you would have
room for a lot of information. Now if there were space in the database to
store information notes about equipment condition (maintenance notes and
tips) could also be stored. So this would be part of your ledger but could
be at very high detail levels depending upon what you needed.

Darald


On Tue, Feb 25, 2014 at 4:11 PM, Erik Huelsmann ehu...@gmail.com wrote:

 Hi Chris,

 On Tue, Feb 25, 2014 at 11:47 AM, Chris Travers 
 chris.trav...@gmail.comwrote:

 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.


 I'm inclined to go with John here: decouple fixed assets and rental
 means. Then, investments in fixed assets can be added to the list of
 rental means upon investment, if one needs to. However, there may be cases
 where a rental object doesn't become available through purchase/investment.



 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.


 One of the first things that came to mind - and is also noted by John - is
 a regeneration period where an asset is unavailable after a rented
 period. This seems like a nice addition to the model.

 John also mentions a need to improve down payments handling - and probably
 associated returns. My idea would be that down payments would be handled by
 a different module. One that can be attached to orders, projects and
 rentals. This would be perfect to do administration of retainer-based
 project work, webshops which require payment to fullfil orders (and clear
 resulting invoices against the payment-to-order). And of course, it would
 also work wonders for the hotel description John is talking about.

 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.


 Ok. Let me follow your example of the hotel room which is being rented.
 Lets say I rent a hotel room for a week and additionally, rent a bike for
 three days within the total rental period of the hotel room. Basically, the
 bike can be considered a temporary add-on to the room. Would those be two
 usage contracts? And would those two usage contracts lead to one invoice?
 Or two?

 I have another example - I'm not sure if this is in scope or not, but let
 me just bring it out here - what if I want to buy an option onto the room;
 like: an extra bed. The hotel has enough of those, so doesn't use rental
 slots to rent them out, but rather supplies this as an option to the room.
 Would this lead to a second line on the invoice? or two invoices? (still:
 do we want to support the case?)


 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


 I liked John's question on the multi-exclusive rooms here :-) While I
 think that question would be a bit hard to tackle, I'm thinking a rental
 can be bought with an option, however, 

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread David Godfrey

Hi Chris,

The comments made by John and Erik ring true for me.

I spent quite a few years supporting a Resort while in Shark Bay,
and previously have worked with a small equipment hire company (gensets, 
ladders, plate compactors)

The resort was using an absolutely awful system called Motellier,
while the Equipment Hire used a whiteboard for bookings and individual 
note books for each piece of equipment (to track maintenanceetc)

I think rental assets can, of themselves be handled as goods (or services),
with a simple additional flag field indicating that they are rentable.
I think this is the correct approach, as the equipment is purchased as 
stock, may have an inventory count,
then often once its rental life expires it is sold as damaged stock at 
an appropriate discount.

In many cases it may even be sold as a new or near new item.
The serial number field that already exists for inventory can be used to 
identify individual rental items within the system, but as indicated 
below there should be anAsset ID field with anAsset ID to Serial 
Number relationship.

The Asset IDfield is what should be used within the UI.

Another advantage of using the existing inventory system is the 
potential of using assemblies instead of multiple Rental Agreements.
eg: When we hire a function room we commonly also hire either 20 tables 
and 100 chairs, or 200 chairs with no tables


The Rental flag can be used as a primary filter when displaying stock 
lists within the rental system.
A new rental asset table would contain all of the required additional 
information


* Asset ID (Text =50 char)
* Date of Acquisition
* Date of Disposal
* Date Last Rented
* Date Last Returned
* Date Last Serviced (eg: Cleaned for a room, Oil change for a generator)
* Date of Lifetime Expiry (eg: a Generator can be expected to last in 
the rental environment for 2 years before replacement)

* Available Now (Bool)
* Available by QuarterHour (Bool)
* Available by Half Hour (Bool)
* Available by Hour (Bool)* Available by Half Day(Bool)
* Available by Day(Bool)
* Available byWeek(Bool)
* Available byWeekend(Bool)
* Available byMonth(Bool)
* Available by Year(Bool)
* Service Notes (entered as dated, read only blobs)
* Service Photos (both images in DB, and URL's in DB)
* Current Hours (either auto generated hours hired, or Operator entered 
hours [eg: engine hours])

* Current Kilometers (Operator entered)
* all of the other fields that have been mentioned by Chris, John, Eric
* many things we have not yet thought of

The available by fields couldbe individual Boolean's or backend 
storage for a multiselect dropdown (checkbox) list
If the Item will not be available for a period of time, a simple 
interface to take it out of service should, in the background create a 
booking againstone of a list of special customers (Equipment Service, 
Equipment Internal Use, Equipment Damage) for the expected duration.
This Out Of Service booking should auto renew for the same period if not 
closed manually.


Each Rental would probably need a record in a table that at a minimum 
requires these fields.


* Asset ID
* Agreement ID
* Booking Date
* Start Date
* End Date
* Return Date
* Last Invoiced Date (to allow tracking of what has been invoiced for 
long term rentals. The details will of course be in each invoice issued)

* Hourly Rate
* Auto Renew
* Customer ID
* Location (where is the equipment being used? this may be essential for 
recovery etc)

* Proof of Identity (may be several fields, or just a text blob)
* Proof of Identity Images (Drivers License, Passport, customer photo)
* Hours at start of Hire
* Hours at end of Hire
* Kilometers at start of Hire
* Kilometers at end of Hire
* Condition at start of Hire (Score 1=excellent 5=poor 6=Unserviceable 
7..20=user defined)
* Condition at end of Hire(Score 1=excellent 5=poor 6=Unserviceable 
7..20=user defined)

* Insurance Rate ID (Think vehicle hire)


All bookings should be able to be flagged to auto-renew for the same 
period as the original booking.
If a booking is not closed by return of the goods within 1 day of it's 
end, it should enable auto-renew, including the 1 day wait.


There are many more issues to deal with, but a lot of them would be best 
handled by the booking interface which is a whole other story.


scould be

On 26/02/14 06:11, Erik Huelsmann wrote:

Hi Chris,

On Tue, Feb 25, 2014 at 11:47 AM, Chris Travers 
chris.trav...@gmail.com mailto:chris.trav...@gmail.com wrote:


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 

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread Chris Travers
On Tue, Feb 25, 2014 at 8:32 AM, John Locke m...@freelock.com wrote:

  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)


That's what the slots approach is intended to solve.  We could call that
Rentals instead of inventory to avoid confusion regarding the
accounting terms (and that would take the place of slots).



 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.


 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.



 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...


Yeah.


 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...


A calendar report would be good.


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


Good point.  This would need to be set.


 -- Deposit management


This is a more general problem we need to address anyway.  Not sure *when*
we can address it though.  A deposit is basically a prepayment into a
liability account.   I would prefer to have better prepayment handling in
the financial rewrite and see where we need to go from there.


 -- 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.


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.


 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 

Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread Chris Travers
On Tue, Feb 25, 2014 at 3:14 PM, o1bigtenor o1bigte...@gmail.com wrote:

 I'm going to toss in my $0.015 worth because although I'm not running a
 rental business I am tracking equipment costs and use.

 What I am doing is increasing the granularity of the database by adding
 -000 as a suffix on every account.
 Then I am tracking each piece of equipment by its own number (001 to 999)
 - - - this is for fuel, repairs, parts, transport, depreciation and
 whatever else you want (using those unique numbers).
 So for GIFI code 1740 (1740-001) I can designate a tractor (I am keeping a
 block of numbers so that I can group like pieces of equipment together).
 Then for fuel I could use a block of numbers there also (I am tracking each
 type of fuel and lubricant too) GIFI 9764 (its a farm that I'm piloting)
 and so on.


This is certainly a viable approach to the accounting.  I have clients who
use this to track department vs shared costs for example.   And in fact,
without the rental module, it's probably how I would recommend handling it.

-- 
Best Wishes,
Chris Travers

Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor
lock-in.
http://www.efficito.com/learn_more
--
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=126839071iu=/4140/ostg.clktrk___
Ledger-smb-devel mailing list
Ledger-smb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel


Re: [Ledger-smb-devel] Towards a rental tracking module

2014-02-25 Thread John Locke

Hi, Chris,

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




On Tue, Feb 25, 2014 at 8:32 AM, John Locke m...@freelock.com 
mailto:m...@freelock.com wrote:


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.





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...


You still need something representing a time slot, to know whether 
something you want to rent is available or not. In my modeling, I've 
used Slots to define the available time periods, and then a booking 
can occupy 1 or more slots and associated rental objects.


You essentially need to create a slot for every possible time period you 
want to make available for booking, for as far out as you want to allow 
scheduling. And then create new slots with a scheduled job (or on demand 
when you get a booking further out than you have defined slots). At 
least that's how I've handled creating an availability matrix.




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? 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? 
Is this more of a library model, a simple check-in/check-out system?


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
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...)

3. Options/product modifiers

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


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

--
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.