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