5 Replies Latest reply on Oct 1, 2012 3:27 AM by Sorbsbuster

    Equipment rental booking problem



      Equipment rental booking problem


           For my company I've made an equipment booking solution in filemaker.

           It works really well and users are able to enter a start and end date. Then they get to see the equipment that's available during that period and they can then book these items and enter a name for a project.

           Booked items are stored with a start and end date, project name and invoice number.

           This all works very well but there is one problem. This only works for "Unique items".

           All your items need to be numbered and entered as seperate items.

           But we have about 100 tables and about 500 chairs.

           And I can't figure out how I could add these items into my system.

           Because the way the availability search works now is simple. You set two dates, and any items booked anywhere during this date range are by defenition not available.

           You would think just creating one record for tables and adding the amount in another field.

           But then how do you compare different bookings to calculate the actual amount of tables available?

           e.g. If you want to book tables for a two week project and there are 10 tables gone in the first week and 10 tables in the second week there are at all times still 90 tables available.

           But if those two 10 table bookings overlap for only a day then during that day (and therefore the entire period) you only have 80 tables available.

           The problem lies in making a correct calculation accounting for the overlap in dates.

           Has anyone had any experience with this kind of situation?

           This is a problem I've been wanting to solve for a long time now.

        • 1. Re: Equipment rental booking problem

               Can you check for each individual day within the period?  So, if the enquiry is from the 1st to the 14th, can you break it down and check the number available on the 1st, and the 2nd, 3rd...14th.  Then take the Minimum of those availabilities?  You could presumably capture also which day(s) equal the minimum, to point a Human at where to go and look for manoeuvering.

          • 2. Re: Equipment rental booking problem

                 Thanks for your suggestion Sorbsbuster.

                 I think that might be the only way to make this work.

                 Now I'm using a portal with a few relatinships to immediatly display all of the equipment that's available between any given date range.

                 I guess that system you suggest would be the other way around. First you determine what yo want and then filemaker checks if that's possible.

                 That's somethink I will have to take a good look at.

            • 3. Re: Equipment rental booking problem

                   There's a custom function out there (and it's quite simple to re-invent from scratch) that takes two dates and produces (via recursion) a return separated list of dates spanning that date interval. That can be a useful tool for relationships that have to match on date ranges by using a field with the return separated list of dates as a match field to a regular date field in a relationship.

              • 4. Re: Equipment rental booking problem

                     Thanks PhilModJunk,

                     I think I've seen this function before in an example file from Nightwing's website.

                     The problem is that equipment can be returned on a certain day at 10am and be rented out again at 4pm.

                     So on one particular day items can come and go.

                     That's why I'm using timestamps and relationships to look for when items are available or not.

                     I think this is a problem that's not going to be solved easily.

                • 5. Re: Equipment rental booking problem

                       My 'brute force' suggestion might still work if you checked against a Timestamp on the first day and last day.